[newlib-cygwin] Cygwin: select: always store the running thread's TLS into select_record

Corinna Vinschen corinna@sourceware.org
Mon Jan 14 16:19:00 GMT 2019


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=752151e715f5b20e6380e137ec4c884617372372

commit 752151e715f5b20e6380e137ec4c884617372372
Author: Corinna Vinschen <corinna@vinschen.de>
Date:   Mon Jan 14 17:03:39 2019 +0100

    Cygwin: select: always store the running thread's TLS into select_record
    
    This allows select threads to access our current tls if required.
    
    Signed-off-by: Corinna Vinschen <corinna@vinschen.de>

Diff:
---
 winsup/cygwin/select.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/winsup/cygwin/select.h b/winsup/cygwin/select.h
index 1db8ad5..9a737c3 100644
--- a/winsup/cygwin/select.h
+++ b/winsup/cygwin/select.h
@@ -14,6 +14,7 @@ struct select_record
   int fd;
   HANDLE h;
   fhandler_base *fh;
+  _cygtls *tls;
   int thread_errno;
   bool windows_handle;
   bool read_ready, write_ready, except_ready;
@@ -27,7 +28,8 @@ struct select_record
   void set_select_errno () {__seterrno (); thread_errno = errno;}
   int saw_error () {return thread_errno;}
   select_record (int): next (NULL) {}
-  select_record (): fd (0), h (NULL), fh (NULL), thread_errno (0),
+  select_record () :
+    fd (0), h (NULL), fh (NULL), tls (&_my_tls), thread_errno (0),
     windows_handle (false), read_ready (false), write_ready (false),
     except_ready (false), read_selected (false), write_selected (false),
     except_selected (false), except_on_write (false),



More information about the Cygwin-cvs mailing list