diff options
author | Christopher Faylor <me@cgf.cx> | 2005-03-03 00:32:57 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2005-03-03 00:32:57 +0000 |
commit | d845acc8d293a0058441dbe3b04336c0c90184d1 (patch) | |
tree | 851bd8099320f6745d76fd6aa2d2d8cf15f100a3 /winsup/cygwin/cygtls.cc | |
parent | 6b55d9fa5eefd69737038e8771ead7e9bc642ce0 (diff) | |
download | cygnal-d845acc8d293a0058441dbe3b04336c0c90184d1.tar.gz cygnal-d845acc8d293a0058441dbe3b04336c0c90184d1.tar.bz2 cygnal-d845acc8d293a0058441dbe3b04336c0c90184d1.zip |
* cygtls.cc (_cygtls::init_thread): Move exitsock setting later. It should
always be set.
(_cygtls::remove): Detect zero exitsock. Not quite sure why this is needed.
Diffstat (limited to 'winsup/cygwin/cygtls.cc')
-rw-r--r-- | winsup/cygwin/cygtls.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/winsup/cygwin/cygtls.cc b/winsup/cygwin/cygtls.cc index 9f0c97a58..cb5379526 100644 --- a/winsup/cygwin/cygtls.cc +++ b/winsup/cygwin/cygtls.cc @@ -113,9 +113,9 @@ _cygtls::init_thread (void *x, DWORD (*func) (void *, void *)) } local_clib._current_locale = "C"; locals.process_logmask = LOG_UPTO (LOG_DEBUG); - locals.exitsock = INVALID_SOCKET; } + locals.exitsock = INVALID_SOCKET; set_state (false); errno_addr = &(local_clib._errno); @@ -154,7 +154,7 @@ _cygtls::remove (DWORD wait) debug_printf ("wait %p\n", wait); // FIXME: Need some sort of atthreadexit function to allow things like // select to control this themselves - if (_my_tls.locals.exitsock != INVALID_SOCKET) + if (locals.exitsock && locals.exitsock != INVALID_SOCKET) closesocket (locals.exitsock); do { |