diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | eval.c | 23 |
2 files changed, 9 insertions, 18 deletions
@@ -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 @@ -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; |