]> git.saurik.com Git - wxWidgets.git/commitdiff
Add wxStreamTempInputBuffer::ReadAll() helper.
authorVadim Zeitlin <vadim@wxwidgets.org>
Wed, 3 Jul 2013 00:29:29 +0000 (00:29 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Wed, 3 Jul 2013 00:29:29 +0000 (00:29 +0000)
This just reads everything remaining in the stream in a blocking way and will
be used to get the data remaining in the stream buffers after the child
process had been already closed (and hence can't write any more to it and
there is no risk of deadlock).

See #10258.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74343 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/private/streamtempinput.h

index 72f3957ec3e4d25b0074255904a0a556305dcc76..cf56481677ac6594f7679622a700e01048a57a33 100644 (file)
@@ -91,6 +91,19 @@ public:
         return !m_stream || m_stream->Eof();
     }
 
         return !m_stream || m_stream->Eof();
     }
 
+    // read everything remaining until the EOF, this should only be called once
+    // the child process terminates and we know that no more data is coming
+    bool ReadAll()
+    {
+        while ( !Eof() )
+        {
+            if ( !Update() )
+                return false;
+        }
+
+        return true;
+    }
+
     // dtor puts the data buffered during this object lifetime into the
     // associated stream
     ~wxStreamTempInputBuffer()
     // dtor puts the data buffered during this object lifetime into the
     // associated stream
     ~wxStreamTempInputBuffer()