aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcus Brinkmann <[email protected]>2008-01-10 13:38:34 +0000
committerMarcus Brinkmann <[email protected]>2008-01-10 13:38:34 +0000
commit7813804014ca664f063a6f1c0c06a477c2ff3dc6 (patch)
tree1bcd5428f0f611a1bbdbf2f0c3f08ffd40794034
parent2008-01-10 Marcus Brinkmann <[email protected]> (diff)
downloadgpgme-7813804014ca664f063a6f1c0c06a477c2ff3dc6.tar.gz
gpgme-7813804014ca664f063a6f1c0c06a477c2ff3dc6.zip
2008-01-10 Marcus Brinkmann <[email protected]>
* kdpipeiodevice.cpp: New version from Frank Osterfeld.
-rw-r--r--gpgme/ChangeLog2
-rw-r--r--gpgme/kdpipeiodevice.cpp15
2 files changed, 11 insertions, 6 deletions
diff --git a/gpgme/ChangeLog b/gpgme/ChangeLog
index 9f5bbe60..60b4e503 100644
--- a/gpgme/ChangeLog
+++ b/gpgme/ChangeLog
@@ -1,5 +1,7 @@
2008-01-10 Marcus Brinkmann <[email protected]>
+ * kdpipeiodevice.cpp: New version from Frank Osterfeld.
+
* engine-gpgconf.c (gpgconf_config_load_cb2): Handle the flag
NO_ARG_DESC.
diff --git a/gpgme/kdpipeiodevice.cpp b/gpgme/kdpipeiodevice.cpp
index 9e0179c9..dd2503bd 100644
--- a/gpgme/kdpipeiodevice.cpp
+++ b/gpgme/kdpipeiodevice.cpp
@@ -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 );
}