mirror of
https://github.com/reactos/reactos.git
synced 2025-08-04 22:46:43 +00:00
atomically increment the pipe id to be thread-safe. Thanks to Mark Grosberg for reporting it.
svn path=/trunk/; revision=11240
This commit is contained in:
parent
d02f400b31
commit
6961ff9728
1 changed files with 4 additions and 3 deletions
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: pipe.c,v 1.10 2004/01/23 21:16:03 ekohl Exp $
|
/* $Id: pipe.c,v 1.11 2004/10/08 21:48:46 weiden Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS system libraries
|
* PROJECT: ReactOS system libraries
|
||||||
|
@ -37,15 +37,16 @@ BOOL STDCALL CreatePipe(PHANDLE hReadPipe,
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
HANDLE ReadPipeHandle;
|
HANDLE ReadPipeHandle;
|
||||||
HANDLE WritePipeHandle;
|
HANDLE WritePipeHandle;
|
||||||
|
ULONG PipeId;
|
||||||
PSECURITY_DESCRIPTOR SecurityDescriptor = NULL;
|
PSECURITY_DESCRIPTOR SecurityDescriptor = NULL;
|
||||||
|
|
||||||
DefaultTimeout.QuadPart = 300000000; /* 30 seconds */
|
DefaultTimeout.QuadPart = 300000000; /* 30 seconds */
|
||||||
|
|
||||||
ProcessPipeId++;
|
PipeId = (ULONG)InterlockedIncrement((LONG*)&ProcessPipeId);
|
||||||
swprintf(Buffer,
|
swprintf(Buffer,
|
||||||
L"\\Device\\NamedPipe\\Win32Pipes.%08x.%08x",
|
L"\\Device\\NamedPipe\\Win32Pipes.%08x.%08x",
|
||||||
NtCurrentTeb()->Cid.UniqueProcess,
|
NtCurrentTeb()->Cid.UniqueProcess,
|
||||||
ProcessPipeId);
|
PipeId);
|
||||||
RtlInitUnicodeString (&PipeName,
|
RtlInitUnicodeString (&PipeName,
|
||||||
Buffer);
|
Buffer);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue