From 7c2dfc65b15f62751470778284b325734d0a241b Mon Sep 17 00:00:00 2001 From: Martin Sustrik Date: Thu, 16 Feb 2012 10:09:36 +0900 Subject: Socket re-entrancy rewritten The inspiration for this re-write came form John Skaller's patch. Adding him to Credits section of the AUTHORS file. Signed-off-by: Martin Sustrik --- src/socket_base.hpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/socket_base.hpp') diff --git a/src/socket_base.hpp b/src/socket_base.hpp index 850586e..8b9a948 100644 --- a/src/socket_base.hpp +++ b/src/socket_base.hpp @@ -65,6 +65,10 @@ namespace xs // This function can be called from a different thread! void stop (); + // Synchronise access of application threads to the socket. + void lock (); + void unlock (); + // Interface for communication with the API layer. int setsockopt (int option_, const void *optval_, size_t optvallen_); int getsockopt (int option_, void *optval_, size_t *optvallen_); @@ -143,6 +147,7 @@ namespace xs // Synchronisation of access to the socket. If Crossroads are running // in non-reentrant mode, it is a dummy mutex-like object. + bool reentrant; mutex_t sync; // If true, associated context was already terminated. -- cgit v1.2.3