summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--eval.c23
2 files changed, 9 insertions, 18 deletions
diff --git a/ChangeLog b/ChangeLog
index 7e6abade63..018bb7bf59 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Thu May 16 14:46:34 2002 Nobuyoshi Nakada <nobu.nokada@softhome.net>
+
+ * eval.c (rb_thread_select): cleanup conditional compilation.
+
Tue May 14 18:17:44 2002 Nobuyoshi Nakada <nobu.nokada@softhome.net>
* win32/Makefile.sub: config.h inlined. and catch up with the
diff --git a/eval.c b/eval.c
index 628e16c969..9e666d7e47 100644
--- a/eval.c
+++ b/eval.c
@@ -8058,6 +8058,9 @@ rb_thread_select(max, read, write, except, timeout)
tv = *timeout;
tvp = &tv;
}
+#else
+ struct timeval *const tvp = timeout;
+#endif
for (;;) {
TRAP_BEG;
n = select(max, read, write, except, tvp);
@@ -8068,6 +8071,7 @@ rb_thread_select(max, read, write, except, timeout)
#ifdef ERESTART
case ERESTART:
#endif
+#ifndef linux
if (timeout) {
double d = limit - timeofday();
@@ -8076,6 +8080,7 @@ rb_thread_select(max, read, write, except, timeout)
if (tv.tv_sec < 0) tv.tv_sec = 0;
if (tv.tv_usec < 0) tv.tv_usec = 0;
}
+#endif
continue;
default:
break;
@@ -8083,24 +8088,6 @@ rb_thread_select(max, read, write, except, timeout)
}
return n;
}
-#else
- for (;;) {
- TRAP_BEG;
- n = select(max, read, write, except, timeout);
- TRAP_END;
- if (n < 0) {
- switch (errno) {
- case EINTR:
-#ifdef ERESTART
- case ERESTART:
-#endif
- continue;
- }
- }
- return n;
- }
-#endif
-
}
curr_thread->status = THREAD_STOPPED;