diff --git a/ChangeLog b/ChangeLog index 0f753b0828..f40f3eeefc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Tue May 3 04:27:53 2011 Nobuyoshi Nakada + + * thread.c (rb_thread_select): preserve errno if no error + occurred. + Tue May 3 03:57:04 2011 Nobuyoshi Nakada * include/ruby/intern.h (rb_w32_fdcopy): add prototype. fixes diff --git a/thread.c b/thread.c index dd40be0ece..c272256d4b 100644 --- a/thread.c +++ b/thread.c @@ -2672,7 +2672,7 @@ rb_thread_select(int max, fd_set * read, fd_set * write, fd_set * except, return 0; } else { - int lerrno; + int lerrno = errno; int result; BLOCKING_REGION({