2007-10-11 Marcus Brinkmann <marcus@g10code.de>
authorMarcus Brinkmann <mb@g10code.com>
Thu, 11 Oct 2007 13:03:59 +0000 (13:03 +0000)
committerMarcus Brinkmann <mb@g10code.com>
Thu, 11 Oct 2007 13:03:59 +0000 (13:03 +0000)
* kdpipeiodevice.cpp: New version from Frank Osterfeld.

gpgme/ChangeLog
gpgme/kdpipeiodevice.cpp

index 580b606..dbe43fd 100644 (file)
@@ -1,3 +1,7 @@
+2007-10-11  Marcus Brinkmann  <marcus@g10code.de>
+
+       * kdpipeiodevice.cpp: New version from Frank Osterfeld.
+
 2007-10-09  Marcus Brinkmann  <marcus@g10code.de>
 
        * kdpipeiodevice.cpp: New version from Frank Osterfeld and Marc
index 032b62b..67f8bf5 100644 (file)
@@ -728,7 +728,12 @@ void Reader::run() {
             DWORD numRead;
            const bool ok = ReadFile( handle, buffer + wptr, numBytes, &numRead, 0 );
            mutex.lock();
-           if ( !ok ) {
+           if ( ok ) {
+                if ( numRead == 0 ) {
+                    qDebug( "%p: Reader::run: got eof (numRead==0)", this );
+                    eof = true;
+                } 
+            } else { // !ok
                errorCode = static_cast<int>( GetLastError() );
                if ( errorCode == ERROR_BROKEN_PIPE ) {
                     assert( numRead == 0 );
@@ -758,7 +763,7 @@ void Reader::run() {
             }
 #endif
            qDebug( "%p: Reader::run: read %ld bytes", this, static_cast<long>(numRead) );
-           qDebug( "%p (fd=%d): KDPipeIODevice::readData: %s", this, fd, buffer );
+           qDebug( "%p: Reader::run(fd=%d): %s", this, fd, buffer );
 
            if ( numRead > 0 ) {
                qDebug( "%p: Reader::run: buffer before: rptr=%4d, wptr=%4d", this, rptr, wptr );