-fix for W32 pipes from bratao
authorChristian Grothoff <christian@grothoff.org>
Tue, 31 Jan 2012 16:44:35 +0000 (16:44 +0000)
committerChristian Grothoff <christian@grothoff.org>
Tue, 31 Jan 2012 16:44:35 +0000 (16:44 +0000)
src/util/disk.c

index d64bcbafb8e8542df6a74ab03d366c61b4a95796..b2a70559359df312c03aadb30799eb5e4f598e70 100644 (file)
@@ -2142,8 +2142,16 @@ GNUNET_DISK_pipe (int blocking_read, int blocking_write, int inherit_read, int i
                                   fd);
 #else
   struct GNUNET_DISK_PipeHandle *p;
+  struct GNUNET_DISK_FileHandle *fds;
   BOOL ret;
   HANDLE tmp_handle;
+  
+
+  p = GNUNET_malloc (sizeof (struct GNUNET_DISK_PipeHandle) +
+                     2 * sizeof (struct GNUNET_DISK_FileHandle));
+  fds = (struct GNUNET_DISK_FileHandle *) &p[1];
+  p->fd[0] = &fds[0];
+  p->fd[1] = &fds[1];
 
   /* All pipes are overlapped. If you want them to block - just
    * call WriteFile() and ReadFile() with NULL overlapped pointer.