diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | configure.in | 2 | ||||
-rw-r--r-- | eval.c | 2 | ||||
-rw-r--r-- | gc.c | 2 |
4 files changed, 9 insertions, 3 deletions
@@ -1,3 +1,9 @@ +Sat Jan 19 11:21:53 2008 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in (sigsetjmp): check if available. + + * eval.c, gc.c (setjmp): do not use _setjmp if sigsetjmp is available. + Sat Jan 19 11:10:11 2008 Nobuyoshi Nakada <nobu@ruby-lang.org> * configure.in: Remove wrong assumptions about Cygwin. a patch from diff --git a/configure.in b/configure.in index 7817c252d8..4dbd6f019a 100644 --- a/configure.in +++ b/configure.in @@ -554,7 +554,7 @@ AC_CHECK_FUNCS(fmod killpg wait4 waitpid syscall chroot fsync getcwd eaccess\ lchown lchmod getpgrp setpgrp getpgid setpgid initgroups\ getgroups setgroups getpriority getrlimit setrlimit sysconf\ group_member dlopen sigprocmask\ - sigaction _setjmp setsid telldir seekdir fchmod\ + sigaction sigsetjmp _setjmp setsid telldir seekdir fchmod\ mktime timegm gettimeofday\ cosh sinh tanh round setuid setgid setenv unsetenv) AC_ARG_ENABLE(setreuid, @@ -193,7 +193,7 @@ static int volatile freebsd_clear_carry_flag = 0; POST_GETCONTEXT, \ (j)->status) #else -# if !defined(setjmp) && defined(HAVE__SETJMP) +# if !defined(setjmp) && defined(HAVE__SETJMP) && !defined(HAVE_SIGSETJMP) # define ruby_setjmp(just_before_setjmp, env) \ ((just_before_setjmp), _setjmp(env)) # define ruby_longjmp(env,val) _longjmp(env,val) @@ -37,7 +37,7 @@ void re_free_registers _((struct re_registers*)); void rb_io_fptr_finalize _((struct OpenFile*)); -#if !defined(setjmp) && defined(HAVE__SETJMP) +#if !defined(setjmp) && defined(HAVE__SETJMP) && !defined(HAVE_SIGSETJMP) #define setjmp(env) _setjmp(env) #endif |