summaryrefslogtreecommitdiff
path: root/thread.c
diff options
context:
space:
mode:
authornormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-11-05 22:56:57 +0000
committernormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-11-05 22:56:57 +0000
commitc076d6009c4f3e979930b6060e35338172ba34e6 (patch)
tree0305364d85d809a9acee2088cb3b5df049aead34 /thread.c
parentde753720296c70f390a8240707448dafa9c06aad (diff)
thread.c (rb_wait_for_single_fd): no point initializing pollfd.revents
poll(2) and ppoll(2) implementations need to check and write to .revents on the initial scan, anyways. So any poll/ppoll call which returns a positive result can be expected to have an initialized .revents value. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'thread.c')
-rw-r--r--thread.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/thread.c b/thread.c
index a5f0e55..0703742 100644
--- a/thread.c
+++ b/thread.c
@@ -4043,12 +4043,10 @@ rb_wait_for_single_fd(int fd, int events, struct timeval *timeout)
fds[0].fd = fd;
fds[0].events = (short)events;
do {
- fds[0].revents = 0;
fds[1].fd = rb_sigwait_fd_get(th);
if (fds[1].fd >= 0) {
fds[1].events = POLLIN;
- fds[1].revents = 0;
nfds = 2;
ubf = ubf_sigwait;
}
@@ -4072,7 +4070,6 @@ rb_wait_for_single_fd(int fd, int events, struct timeval *timeout)
if (fds[1].fd >= 0) {
if (result > 0 && fds[1].revents) {
result--;
- fds[1].revents = 0;
}
(void)check_signals_nogvl(th, fds[1].fd);
rb_sigwait_fd_put(th, fds[1].fd);