summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Sustrik <sustrik@250bpm.com>2012-05-20 07:40:33 +0200
committerMartin Sustrik <sustrik@250bpm.com>2012-05-21 12:16:48 +0200
commitd75735c3dd1720ea816e2178847b1c76dfcb7e9f (patch)
treece39524ae909d039160b6afc926de2d1d2520032
parent7f2c7dad20135db9a898d9a9e5533783575a3fd0 (diff)
Use global event to synchronise signaler creation on Windows
So far, the event used for signaler creation was local to the session, so, in theory, processes in two different sessions could accidentally interconnect their signalers. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
-rw-r--r--src/signaler.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/signaler.cpp b/src/signaler.cpp
index 9b8f1d7..a9db3f2 100644
--- a/src/signaler.cpp
+++ b/src/signaler.cpp
@@ -95,8 +95,8 @@ static int make_fdpair (xs::fd_t *r_, xs::fd_t *w_)
// This function has to be in a system-wide critical section so that
// two instances of the library don't accidentally create signaler
// crossing the process boundary.
- // We'll use named event object to implement the critical section.
- HANDLE sync = CreateEvent (&sa, FALSE, TRUE, "xs-signaler-port-sync");
+ HANDLE sync = CreateEvent (&sa, FALSE, TRUE,
+ "Global\\xs-signaler-port-sync");
win_assert (sync != NULL);
// Enter the critical section.