> BTW, I've checked kosaki-san's patch with x64-mswin64.
> No problem was reported in test.
>
> P.S.
> kosaki-san, I want to add a guard to your patch.
>
> --- thread.c.bak =A0 =A0 =A0 =A02011-09-13 03:40:05.948172400 +0900
> +++ thread.c =A0 =A02011-09-13 03:40:24.308222500 +0900
> @@ -2469,7 +2469,9 @@ rb_fd_rcopy(fd_set *dst, rb_fdset_t *src
> =A0{
> =A0 =A0 int max =3D rb_fd_max(src);
>
> - =A0 =A0if (max > FD_SETSIZE) {
> + =A0 =A0/* we assume src is the result of select() with dst, so dst shou=
ld be
> + =A0 =A0 * larger or equal than src. */
> + =A0 =A0if (max > FD_SETSIZE || max > dst->fd_count) {
> =A0 =A0 =A0 =A0rb_raise(rb_eArgError, "too large fdsets");

Done.
Thank you for careful reviewing!