diff options
| author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-01-06 21:28:54 +0000 |
|---|---|---|
| committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-01-06 21:28:54 +0000 |
| commit | d99aa273a662a461f632a019f02704e36e35e017 (patch) | |
| tree | d35685e9c9e91e3254d9e6a26bde78d289e8d185 | |
| parent | 9581274838a69d676c8b15737d4ac3a694092426 (diff) | |
| download | ruby-d99aa273a662a461f632a019f02704e36e35e017.tar.gz ruby-d99aa273a662a461f632a019f02704e36e35e017.tar.xz ruby-d99aa273a662a461f632a019f02704e36e35e017.zip | |
* 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
long. So returning the value from rb_fd_isset discards upper
32bits on LP64 environment.
http://www.freebsd.org/cgi/query-pr.cgi?pr=ia64/91421
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@9802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
| -rw-r--r-- | ChangeLog | 8 | ||||
| -rw-r--r-- | eval.c | 2 |
2 files changed, 9 insertions, 1 deletions
@@ -1,3 +1,11 @@ +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 + avoid BSD bug. BSD defines FD_ISSET as just a bitmap of unsigned + long. So returning the value from rb_fd_isset discards upper + 32bits on LP64 environment. + http://www.freebsd.org/cgi/query-pr.cgi?pr=ia64/91421 + Fri Jan 6 02:20:18 2006 Tanaka Akira <akr@m17n.org> * configure.in: don't force getcontext on IA64. @@ -9644,7 +9644,7 @@ rb_fd_isset(n, fds) const rb_fdset_t *fds; { if (n >= fds->maxfd) return 0; - return FD_ISSET(n, fds->fdset); + return FD_ISSET(n, fds->fdset) != 0; /* "!= 0" avoids BSD bug */ } void |
