void Connection::doRead() { while (true) { in_.reserve(1024); int bytes_read = socketRead(client_fd_, in_.writePtr(), in_.writeSize()); if (bytes_read > 0) { in_.advance(bytes_read); } if ((bytes_read < 0) && (errno == EAGAIN)) { acquire(); io_desc_->readWhenReady(); break; } else if (bytes_read < 0) { LOG(LogMessage::WARNING) << "Error on read (" << client_fd_ << "): " << strerror(errno); break; } else if (bytes_read == 0) { // The socket was closed. break; } else if (!readDone()) { LOG(LogMessage::WARNING) << "Error procesing read (" << client_fd_ << ")"; break; } // Continue issuing reads. } // This release matches the acquire done when scheduling the // startRead() call. release(); }
static void updateSetting (CCSBackend *backend, CCSContext *context, CCSPlugin *plugin, CCSSetting *setting) { if (readInit (backend, context)) { readSetting (backend, context, setting); readDone (backend, context); } }
void QOggSimplePlayer::internalStart() { QMutexLocker mutexLocker(&mutex); needPlay=true; if(output==NULL) return; internalStop(); readDone(); output->start(&buffer); }
BlockFileReader::BlockFileReader() { m_dumpSlice = false; m_lowresSlice = 0; m_slice = 0; m_depthSlice = 0; m_widthSlice = 0; m_heightSlice = 0; m_maxFileSize = 1024*1024*1024; m_blockSize = 32; m_maxCacheSize = 1000; m_prevfno = -1; reset(); m_currentAxis = m_currentSlice = -1; connect(&m_blockReader, SIGNAL(readDone()), this, SLOT(readDone())); }
void QRecordBasedSimFile::serverReadDone ( const QString& reqid, const QByteArray& data, int pos ) { if ( reqid == d->reqid ) emit readDone( data, pos ); }