diff --git a/ChangeLog b/ChangeLog index 37e36f2248..f3c5fc94bb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Sat Nov 12 02:10:08 2005 Nobuyoshi Nakada + + * configure.in, eval.c, intern.h: check fd_mask type. + Fri Nov 11 19:53:47 2005 Hirokazu Yamamoto * eval.c, intern.h: failed to compile where NFDBITS is defined but diff --git a/configure.in b/configure.in index 65fd015b3e..687e9e833f 100644 --- a/configure.in +++ b/configure.in @@ -476,6 +476,8 @@ AC_STRUCT_ST_BLKSIZE AC_STRUCT_ST_BLOCKS AC_STRUCT_ST_RDEV +AC_CHECK_TYPE(fd_mask, [AC_DEFINE(HAVE_RB_FD_INIT, 1)]) + AC_CACHE_CHECK(for stack end address, rb_cv_stack_end_address, [rb_cv_stack_end_address=no for addr in __libc_stack_end _SEND; do diff --git a/eval.c b/eval.c index fd7a209aff..98e60a4261 100644 --- a/eval.c +++ b/eval.c @@ -9546,7 +9546,7 @@ enum thread_status { # endif #endif -#if defined(NFDBITS) && defined(howmany) +#if defined(NFDBITS) && defined(HAVE_RB_FD_INIT) void rb_fd_init(fds) volatile rb_fdset_t *fds; diff --git a/intern.h b/intern.h index 31602598f6..c2adeb398d 100644 --- a/intern.h +++ b/intern.h @@ -161,14 +161,12 @@ NORETURN(void rb_load_fail(const char*)); NORETURN(void rb_error_frozen(const char*)); void rb_check_frozen(VALUE); /* eval.c */ -#if defined(NFDBITS) && defined(howmany) +#if defined(NFDBITS) && defined(HAVE_RB_FD_INIT) typedef struct { int maxfd; fd_set *fdset; } rb_fdset_t; -#define HAVE_RB_FD_INIT 1 - void rb_fd_init(volatile rb_fdset_t *); void rb_fd_term(rb_fdset_t *); void rb_fd_zero(rb_fdset_t *);