int ifd = java.io.JikesRVMSupport.getFd(fd);
    int read(byte[] buffer, int offset, int count) throws IOException {	int ifd = java.io.JikesRVMSupport.getFd(fd);	double totalWaitTime = (receiveTimeout > 0)	    ? ((double) receiveTimeout) / 1000.0	    : VM_ThreadEventConstants.WAIT_INFINITE;	int rc;	try {	    rc = VM_FileSystem.readBytes(ifd, buffer, offset, count, totalWaitTime);  }	catch (VM_TimeoutException e) {	    throw new SocketTimeoutException("socket receive timed out");	}		return rc;    }