2008-01-10 Marcus Brinkmann <marcus@g10code.de>

* kdpipeiodevice.cpp: New version from Frank Osterfeld.
This commit is contained in:
Marcus Brinkmann 2008-01-10 13:38:34 +00:00
parent 38c5950991
commit 7813804014
2 changed files with 11 additions and 6 deletions

View File

@ -1,5 +1,7 @@
2008-01-10 Marcus Brinkmann <marcus@g10code.de>
* kdpipeiodevice.cpp: New version from Frank Osterfeld.
* engine-gpgconf.c (gpgconf_config_load_cb2): Handle the flag
NO_ARG_DESC.

View File

@ -329,11 +329,14 @@ void KDPipeIODevice::Private::emitReadyRead()
emit q->readyRead();
if ( !thisPointer )
return;
qDebug( "KDPipeIODevice::Private::emitReadyRead %p, %d: locking reader (CONSUMER THREAD)", this, counter );
synchronized( reader ) {
qDebug( "KDPipeIODevice::Private::emitReadyRead %p, %d: locked reader (CONSUMER THREAD)", this, counter );
reader->readyReadSentCondition.wakeAll();
return;
if ( reader ) {
qDebug( "KDPipeIODevice::Private::emitReadyRead %p, %d: locking reader (CONSUMER THREAD)", this, counter );
synchronized( reader ) {
qDebug( "KDPipeIODevice::Private::emitReadyRead %p, %d: locked reader (CONSUMER THREAD)", this, counter );
reader->readyReadSentCondition.wakeAll();
}
}
qDebug( "KDPipeIODevice::Private::emitReadyRead %p leaving %d", this, counter );
@ -704,7 +707,7 @@ void Reader::run() {
while ( !cancel && !error && bufferFull() ) {
notifyReadyRead();
if ( bufferFull() ) {
if ( !cancel && bufferFull() ) {
qDebug( "%p: Reader::run: buffer is full, going to sleep", this );
bufferNotFullCondition.wait( &mutex );
}