Pass inherit handle flag properly for CreateNamedPipe.

diff --git a/dlls/kernel/sync.c b/dlls/kernel/sync.c
index 6a40c00..316e3d5 100644
--- a/dlls/kernel/sync.c
+++ b/dlls/kernel/sync.c
@@ -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;
diff --git a/include/wine/server_protocol.h b/include/wine/server_protocol.h
index fa435a4..9c30d02 100644
--- a/include/wine/server_protocol.h
+++ b/include/wine/server_protocol.h
@@ -2414,6 +2414,7 @@
     unsigned int   outsize;
     unsigned int   insize;
     unsigned int   timeout;
+    int            inherit;
     /* VARARG(name,unicode_str); */
 };
 struct create_named_pipe_reply
@@ -3762,6 +3763,6 @@
     struct set_global_windows_reply set_global_windows_reply;
 };
 
-#define SERVER_PROTOCOL_VERSION 131
+#define SERVER_PROTOCOL_VERSION 132
 
 #endif /* __WINE_WINE_SERVER_PROTOCOL_H */
diff --git a/server/named_pipe.c b/server/named_pipe.c
index b69eec6..0ea4e5c 100644
--- a/server/named_pipe.c
+++ b/server/named_pipe.c
@@ -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 );
     }
diff --git a/server/protocol.def b/server/protocol.def
index f838478..ac8e0d8 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -1705,6 +1705,7 @@
     unsigned int   outsize;
     unsigned int   insize;
     unsigned int   timeout;
+    int            inherit;      /* inherit flag */
     VARARG(name,unicode_str);    /* pipe name */
 @REPLY
     obj_handle_t   handle;       /* handle to the pipe */
diff --git a/server/trace.c b/server/trace.c
index 4319f6d..caea2d6 100644
--- a/server/trace.c
+++ b/server/trace.c
@@ -2005,6 +2005,7 @@
     fprintf( stderr, " outsize=%08x,", req->outsize );
     fprintf( stderr, " insize=%08x,", req->insize );
     fprintf( stderr, " timeout=%08x,", req->timeout );
+    fprintf( stderr, " inherit=%d,", req->inherit );
     fprintf( stderr, " name=" );
     dump_varargs_unicode_str( cur_size );
 }