summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--configure.in2
-rw-r--r--eval.c2
-rw-r--r--intern.h4
4 files changed, 8 insertions, 4 deletions
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 <nobu@ruby-lang.org>
+
+ * configure.in, eval.c, intern.h: check fd_mask type.
+
Fri Nov 11 19:53:47 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
* 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 *);