diff options
Diffstat (limited to 'winsup')
-rw-r--r-- | winsup/cygwin/ChangeLog | 4 | ||||
-rw-r--r-- | winsup/cygwin/cygtls.cc | 3 |
2 files changed, 6 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index b1632977c..9958a3ffb 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,5 +1,9 @@ 2011-04-18 Corinna Vinschen <corinna@vinschen.de> + * cygtls.cc (_cygtls::remove): Always close sockevt handle. + +2011-04-18 Corinna Vinschen <corinna@vinschen.de> + * cygwin.din (ppoll): Export. * poll.cc (ppoll): Implement. * posix.sgml (std-gnu): Add ppoll. diff --git a/winsup/cygwin/cygtls.cc b/winsup/cygwin/cygtls.cc index d61ea4dc7..026d4c837 100644 --- a/winsup/cygwin/cygtls.cc +++ b/winsup/cygwin/cygtls.cc @@ -146,13 +146,14 @@ _cygtls::remove (DWORD wait) return; debug_printf ("wait %p", wait); + if (locals.select.sockevt) + CloseHandle (locals.select.sockevt); if (wait) { /* FIXME: Need some sort of atthreadexit function to allow things like select to control this themselves. */ if (locals.select.sockevt) { - CloseHandle (locals.select.sockevt); locals.select.sockevt = NULL; free_local (select.ser_num); free_local (select.w4); |