diff options
Diffstat (limited to 'winsup/cygwin/pipe.cc')
-rw-r--r-- | winsup/cygwin/pipe.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/winsup/cygwin/pipe.cc b/winsup/cygwin/pipe.cc index e5909c4d4..6a88d4f1c 100644 --- a/winsup/cygwin/pipe.cc +++ b/winsup/cygwin/pipe.cc @@ -217,17 +217,17 @@ fhandler_pipe::create (LPSECURITY_ATTRIBUTES sa_ptr, PHANDLE r, PHANDLE w, if (!name) pipe_mode |= pipe_byte ? PIPE_TYPE_BYTE : PIPE_TYPE_MESSAGE; else - { - strcpy (pipename + len, name); - pipe_mode |= PIPE_TYPE_MESSAGE; - } + pipe_mode |= PIPE_TYPE_MESSAGE; - if (!name || (open_mode &= PIPE_ADD_PID)) + if (!name || (open_mode & PIPE_ADD_PID)) { len += __small_sprintf (pipename + len, "%u-", GetCurrentProcessId ()); open_mode &= ~PIPE_ADD_PID; } + if (name) + len += __small_sprintf (pipename + len, "%s", name); + open_mode |= PIPE_ACCESS_INBOUND; /* Retry CreateNamedPipe as long as the pipe name is in use. |