* thread.c (do_select, rb_thread_wait_fd_rw): raise sys error if

errno is not 0 and EBADF.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
ko1 2007-02-20 06:07:05 +00:00
Родитель a29c96840d
Коммит 661955cc39
3 изменённых файлов: 13 добавлений и 7 удалений

Просмотреть файл

@ -1,3 +1,8 @@
Tue Feb 20 15:03:29 2007 Koichi Sasada <ko1@atdot.net>
* thread.c (do_select, rb_thread_wait_fd_rw): raise sys error if
errno is not 0 and EBADF.
Mon Feb 19 22:15:31 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
* configure.in (RUBY_REPLACE_TYPE): cache convertible type info.

Просмотреть файл

@ -1716,9 +1716,6 @@ do_select(int n, fd_set *read, fd_set *write, fd_set *except,
#endif
goto retry;
}
else {
rb_bug("fatal error on select() - errno: %d\n", lerrno);
}
}
return result;
}
@ -1740,6 +1737,10 @@ rb_thread_wait_fd_rw(int fd, int read)
else {
result = do_select(fd + 1, 0, rb_fd_ptr(&set), 0, 0);
}
if (result < 0 && errno != EBADF) {
rb_sys_fail(0);
}
}
thread_debug("rb_thread_wait_fd_rw(%d, %s): done\n", fd, read ? "read" : "write");
@ -1773,7 +1774,7 @@ rb_thread_select(int max, fd_set * read, fd_set * write, fd_set * except,
else {
return do_select(max, read, write, except, timeout);
}
}
}
/*

Просмотреть файл

@ -1,7 +1,7 @@
#define RUBY_VERSION "1.9.0"
#define RUBY_RELEASE_DATE "2007-02-19"
#define RUBY_RELEASE_DATE "2007-02-20"
#define RUBY_VERSION_CODE 190
#define RUBY_RELEASE_CODE 20070219
#define RUBY_RELEASE_CODE 20070220
#define RUBY_PATCHLEVEL 0
#define RUBY_VERSION_MAJOR 1
@ -9,7 +9,7 @@
#define RUBY_VERSION_TEENY 0
#define RUBY_RELEASE_YEAR 2007
#define RUBY_RELEASE_MONTH 2
#define RUBY_RELEASE_DAY 19
#define RUBY_RELEASE_DAY 20
RUBY_EXTERN const char ruby_version[];
RUBY_EXTERN const char ruby_release_date[];