まつもと ゆきひろです
In message "[ruby-dev:9733] Re: SEGV on thread and socket"
on 00/05/17, WATANABE Hirofumi <Hirofumi.Watanabe / jp.sony.com> writes:
|と思ったらまだ調子悪いです.
|これもなぜか Linux だけ timeout します.
些細なミスがいっぱい残ってました。
--- eval.c 2000/05/17 04:38:09 1.46
+++ eval.c 2000/05/17 06:31:10
@@ -6738,5 +6738,5 @@
copy_fds(&exceptfds, &th->exceptfds, th->fd);
- th->fd = 0;
if (max < th->fd) max = th->fd;
need_select = 1;
+ th->fd = 0;
}
@@ -6887,4 +6887,5 @@
FD_ZERO(&curr_thread->writefds);
- FD_ZERO(&curr_thread->exceptfds);
FD_SET(fd, &curr_thread->writefds);
+ FD_ZERO(&curr_thread->exceptfds);
+ curr_thread->fd = fd+1;
curr_thread->wait_for = WAIT_SELECT;
@@ -7013,3 +7014,3 @@
(double)timeout->tv_sec + (double)timeout->tv_usec*1e-6;
- curr_thread->wait_for = WAIT_TIME;
+ curr_thread->wait_for |= WAIT_TIME;
}