summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/thread.h
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/thread.h')
-rw-r--r--winsup/cygwin/thread.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/winsup/cygwin/thread.h b/winsup/cygwin/thread.h
index c87c620eb..badffcb79 100644
--- a/winsup/cygwin/thread.h
+++ b/winsup/cygwin/thread.h
@@ -638,6 +638,7 @@ public:
HANDLE win32_obj_id;
int shared;
LONG currentvalue;
+ LONG startvalue;
int fd;
unsigned long long hash;
LUID luid;
@@ -648,6 +649,10 @@ public:
~semaphore ();
class semaphore * next;
+ static void fixup_before_fork ()
+ {
+ semaphores.for_each (&semaphore::_fixup_before_fork);
+ }
static void fixup_after_fork ()
{
semaphores.fixup_after_fork ();
@@ -666,6 +671,7 @@ private:
int _trywait ();
int _timedwait (const struct timespec *abstime);
+ void _fixup_before_fork ();
void _fixup_after_fork ();
void _terminate ();