the bug was FreeBSD specific.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
94fc5c9878
commit
5695c588c0
@ -6,9 +6,9 @@ Sat Jan 7 15:40:07 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|||||||
Sat Jan 7 06:24:18 2006 Tanaka Akira <akr@m17n.org>
|
Sat Jan 7 06:24:18 2006 Tanaka Akira <akr@m17n.org>
|
||||||
|
|
||||||
* eval.c (rb_fd_isset): compare the result of FD_ISSET with 0 to
|
* eval.c (rb_fd_isset): compare the result of FD_ISSET with 0 to
|
||||||
avoid BSD bug. BSD defines FD_ISSET as just a bitmap of unsigned
|
avoid FreeBSD bug. FreeBSD defines FD_ISSET as just a bitmap of
|
||||||
long. So returning the value from rb_fd_isset discards upper
|
unsigned long. So returning the value from rb_fd_isset discards
|
||||||
32bits on LP64 environment.
|
upper 32bits on LP64 environment.
|
||||||
http://www.freebsd.org/cgi/query-pr.cgi?pr=ia64/91421
|
http://www.freebsd.org/cgi/query-pr.cgi?pr=ia64/91421
|
||||||
|
|
||||||
Fri Jan 6 02:20:18 2006 Tanaka Akira <akr@m17n.org>
|
Fri Jan 6 02:20:18 2006 Tanaka Akira <akr@m17n.org>
|
||||||
|
2
eval.c
2
eval.c
@ -9644,7 +9644,7 @@ rb_fd_isset(n, fds)
|
|||||||
const rb_fdset_t *fds;
|
const rb_fdset_t *fds;
|
||||||
{
|
{
|
||||||
if (n >= fds->maxfd) return 0;
|
if (n >= fds->maxfd) return 0;
|
||||||
return FD_ISSET(n, fds->fdset) != 0; /* "!= 0" avoids BSD bug */
|
return FD_ISSET(n, fds->fdset) != 0; /* "!= 0" avoids FreeBSD bug */
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
Loading…
x
Reference in New Issue
Block a user