diff options
| author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-07-02 06:22:14 +0000 |
|---|---|---|
| committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-07-02 06:22:14 +0000 |
| commit | 55f24fc6a5c50cdea243c7a8c718e6b994b555f5 (patch) | |
| tree | c054ce4ed6a885523dec5cde417b1235f1d246c0 | |
| parent | 8a7d7029c805d4cd1f98daf7adf55e5eb50d3a75 (diff) | |
| download | ruby-55f24fc6a5c50cdea243c7a8c718e6b994b555f5.tar.gz ruby-55f24fc6a5c50cdea243c7a8c718e6b994b555f5.tar.xz ruby-55f24fc6a5c50cdea243c7a8c718e6b994b555f5.zip | |
* configure.in: check select_large_fdset.
* eval.c: use select_large_fdset to support large file descriptors
on Solaris. [ruby-dev:26404]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@8695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
| -rw-r--r-- | ChangeLog | 7 | ||||
| -rw-r--r-- | configure.in | 2 | ||||
| -rw-r--r-- | eval.c | 10 |
3 files changed, 18 insertions, 1 deletions
@@ -1,3 +1,10 @@ +Sat Jul 2 15:19:41 2005 Tanaka Akira <akr@m17n.org> + + * configure.in: check select_large_fdset. + + * eval.c: use select_large_fdset to support large file descriptors + on Solaris. [ruby-dev:26404] + Fri Jul 1 17:55:08 2005 Yukihiro Matsumoto <matz@ruby-lang.org> * bignum.c (rb_big_neg): may be accessing bogus pointer value. diff --git a/configure.in b/configure.in index eab3a824a..2028f89a7 100644 --- a/configure.in +++ b/configure.in @@ -492,7 +492,7 @@ AC_CHECK_FUNCS(fmod killpg wait4 waitpid fork spawnv syscall chroot fsync getcwd getpriority getrlimit setrlimit\ dlopen sigprocmask sigaction _setjmp\ setsid telldir seekdir fchmod mktime timegm cosh sinh tanh\ - setuid setgid daemon \ + setuid setgid daemon select_large_fdset \ _UNW_createContextForSelf) AC_ARG_ENABLE(setreuid, [ --enable-setreuid use setreuid()/setregid() according to need even if obsolete.], @@ -179,6 +179,16 @@ typedef jmp_buf rb_jmpbuf_t; #include <sys/select.h> #endif +/* + Solaris sys/select.h switches select to select_large_fdset to support larger + file descriptors if FD_SETSIZE is larger than 1024 on 32bit environment. + But Ruby doesn't change FD_SETSIZE because fd_set is allocated dynamically. + So following definition is required to use select_large_fdset. +*/ +#ifdef HAVE_SELECT_LARGE_FDSET +#define select(n, r, w, e, t) select_large_fdset(n, r, w, e, t) +#endif + #ifdef HAVE_SYS_PARAM_H #include <sys/param.h> #endif |
