summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/select.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/select.cc')
-rw-r--r--winsup/cygwin/select.cc11
1 files changed, 4 insertions, 7 deletions
diff --git a/winsup/cygwin/select.cc b/winsup/cygwin/select.cc
index 1acf80eb2..13913c95f 100644
--- a/winsup/cygwin/select.cc
+++ b/winsup/cygwin/select.cc
@@ -166,19 +166,16 @@ pselect(int maxfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
struct timeval tv;
sigset_t oldset = myself->getsigmask ();
+ myfault efault;
+ if (efault.faulted (EFAULT))
+ return -1;
if (ts)
{
- if (check_invalid_read_struct_errno (ts))
- return -1;
tv.tv_sec = ts->tv_sec;
tv.tv_usec = ts->tv_nsec / 1000;
}
if (set)
- {
- if (check_invalid_read_struct_errno (set))
- return -1;
- set_signal_mask (*set);
- }
+ set_signal_mask (*set);
int ret = cygwin_select (maxfds, readfds, writefds, exceptfds,
ts ? &tv : NULL);
if (set)