diff options
author | Christopher Faylor <me@cgf.cx> | 2005-07-29 14:29:33 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2005-07-29 14:29:33 +0000 |
commit | 2b3fc7325c6606b3231ad3d530e5bbed680b5af8 (patch) | |
tree | 59df6744df0bbb1f917ad4559b0bf6e7450e771e /winsup/cygwin/cygthread.cc | |
parent | 40c125cf383c438c990e23bb60283160dec86d1a (diff) | |
download | cygnal-2b3fc7325c6606b3231ad3d530e5bbed680b5af8.tar.gz cygnal-2b3fc7325c6606b3231ad3d530e5bbed680b5af8.tar.bz2 cygnal-2b3fc7325c6606b3231ad3d530e5bbed680b5af8.zip |
* cygthread.cc (cygthread::simplestub): Wait for h to be filled out by main
thread before assigning it.
Diffstat (limited to 'winsup/cygwin/cygthread.cc')
-rw-r--r-- | winsup/cygwin/cygthread.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/winsup/cygwin/cygthread.cc b/winsup/cygwin/cygthread.cc index 80fa4546d..6763d7283 100644 --- a/winsup/cygwin/cygthread.cc +++ b/winsup/cygwin/cygthread.cc @@ -111,6 +111,9 @@ cygthread::simplestub (VOID *arg) cygthread *info = (cygthread *) arg; _my_tls._ctinfo = info; info->stack_ptr = &arg; + /* Wait for main thread to assign 'h' */ + while (!info->h) + low_priority_sleep (0); info->ev = info->h; info->func (info->arg == cygself ? info : info->arg); return 0; |