Make the Handle of CreateNamedPipe inherit
Uwe Bonnes
bon at elektron.ikp.physik.tu-darmstadt.de
Sun Feb 22 09:09:21 CST 2004
Changelog:
server/protocol.def, server/named_pipe.c, dlls/kernel/sync.c:
Pass bInheritHandle so CreateNamedPipe creates inheritable handles
Run tools/make_request..
--
Uwe Bonnes bon at elektron.ikp.physik.tu-darmstadt.de
Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
Index: wine/server/protocol.def
===================================================================
RCS file: /home/wine/wine/server/protocol.def,v
retrieving revision 1.92
diff -u -r1.92 protocol.def
--- wine/server/protocol.def 3 Jan 2004 00:38:30 -0000 1.92
+++ wine/server/protocol.def 22 Feb 2004 14:55:50 -0000
@@ -1705,6 +1705,7 @@
unsigned int outsize;
unsigned int insize;
unsigned int timeout;
+ unsigned int inherit;
VARARG(name,unicode_str); /* pipe name */
@REPLY
obj_handle_t handle; /* handle to the pipe */
Index: wine/server/named_pipe.c
===================================================================
RCS file: /home/wine/wine/server/named_pipe.c,v
retrieving revision 1.27
diff -u -r1.27 named_pipe.c
--- wine/server/named_pipe.c 5 Sep 2003 23:15:41 -0000 1.27
+++ wine/server/named_pipe.c 22 Feb 2004 14:55:50 -0000
@@ -629,7 +629,7 @@
{
server->state = ps_idle_server;
reply->handle = alloc_handle( current->process, server,
- GENERIC_READ|GENERIC_WRITE, 0 );
+ GENERIC_READ|GENERIC_WRITE, req->inherit );
server->pipe->instances++;
release_object( server );
}
Index: wine/dlls/kernel/sync.c
===================================================================
RCS file: /home/wine/wine/dlls/kernel/sync.c,v
retrieving revision 1.47
diff -u -r1.47 sync.c
--- wine/dlls/kernel/sync.c 12 Feb 2004 20:03:53 -0000 1.47
+++ wine/dlls/kernel/sync.c 22 Feb 2004 14:55:53 -0000
@@ -1062,6 +1062,7 @@
req->outsize = nOutBufferSize;
req->insize = nInBufferSize;
req->timeout = nDefaultTimeOut;
+ req->inherit = (attr && (attr->nLength>=sizeof(*attr)) && attr->bInheritHandle);
wine_server_add_data( req, name, len * sizeof(WCHAR) );
SetLastError(0);
if (!wine_server_call_err( req )) ret = reply->handle;
More information about the wine-patches
mailing list