src/corelib/io/qwindowspipewriter.cpp
changeset 30 5dc02b23752f
parent 18 2f34d5167611
--- a/src/corelib/io/qwindowspipewriter.cpp	Wed Jun 23 19:07:03 2010 +0300
+++ b/src/corelib/io/qwindowspipewriter.cpp	Tue Jul 06 15:10:48 2010 +0300
@@ -40,6 +40,7 @@
 ****************************************************************************/
 
 #include "qwindowspipewriter_p.h"
+#include <string.h>
 
 QT_BEGIN_NAMESPACE
 
@@ -100,7 +101,8 @@
 
 void QWindowsPipeWriter::run()
 {
-    OVERLAPPED overl = {0, 0, 0, 0, NULL};
+    OVERLAPPED overl;
+    memset(&overl, 0, sizeof overl);
     overl.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
     forever {
         lock.lock();
@@ -126,11 +128,9 @@
         overl.OffsetHigh = 0;
         while ((!quitNow) && totalWritten < maxlen) {
             DWORD written = 0;
-            // Write 2k at a time to prevent flooding the pipe. If you
-            // write too much (4k-8k), the pipe can close
-            // unexpectedly.
             if (!WriteFile(writePipe, ptrData + totalWritten,
-                    qMin<int>(2048, maxlen - totalWritten), &written, &overl)) {
+                           maxlen - totalWritten, &written, &overl)) {
+
                 if (GetLastError() == 0xE8/*NT_STATUS_INVALID_USER_BUFFER*/) {
                     // give the os a rest
                     msleep(100);