summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2019-01-14 17:03:39 +0100
committerCorinna Vinschen <corinna@vinschen.de>2019-01-14 17:03:39 +0100
commit752151e715f5b20e6380e137ec4c884617372372 (patch)
treef14612e9c46bc9f097976b7c3eedb37385e6a41e
parent19b7c7ab2e2fdfb70722bb016e67229c7184a173 (diff)
downloadcygnal-752151e715f5b20e6380e137ec4c884617372372.tar.gz
cygnal-752151e715f5b20e6380e137ec4c884617372372.tar.bz2
cygnal-752151e715f5b20e6380e137ec4c884617372372.zip
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>
-rw-r--r--winsup/cygwin/select.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/winsup/cygwin/select.h b/winsup/cygwin/select.h
index 1db8ad5db..9a737c39e 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),