diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | configure.in | 2 | ||||
-rw-r--r-- | eval_intern.h | 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 <[email protected]> + + * 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 <[email protected]> * configure.in: Remove wrong assumptions about Cygwin. a patch from diff --git a/configure.in b/configure.in index a0f281c3ad..e2e549c8bb 100644 --- a/configure.in +++ b/configure.in @@ -652,7 +652,7 @@ AC_CHECK_FUNCS(fmod killpg wait4 waitpid fork spawnv syscall chroot fsync getcwd setrgid setegid setregid setresgid issetugid pause lchown lchmod\ getpgrp setpgrp getpgid setpgid initgroups getgroups setgroups\ getpriority getrlimit setrlimit sysconf group_member\ - dlopen sigprocmask sigaction _setjmp vsnprintf snprintf\ + dlopen sigprocmask sigaction sigsetjmp _setjmp vsnprintf snprintf\ setsid telldir seekdir fchmod cosh sinh tanh log2 round\ setuid setgid daemon select_large_fdset setenv unsetenv\ mktime timegm clock_gettime gettimeofday) diff --git a/eval_intern.h b/eval_intern.h index 4436fcc32d..d9d907aeef 100644 --- a/eval_intern.h +++ b/eval_intern.h @@ -81,7 +81,7 @@ char *strrchr(const char *, const char); #include "vmsruby_private.h" #endif -#if !defined(setjmp) && defined(HAVE__SETJMP) +#if !defined(setjmp) && defined(HAVE__SETJMP) && !defined(HAVE_SIGSETJMP) #define ruby_setjmp(env) _setjmp(env) #define ruby_longjmp(env,val) _longjmp(env,val) #else @@ -50,7 +50,7 @@ int rb_io_fptr_finalize(struct rb_io_t*); -#if !defined(setjmp) && defined(HAVE__SETJMP) +#if !defined(setjmp) && defined(HAVE__SETJMP) && !defined(HAVE_SIGSETJMP) #define setjmp(env) _setjmp(env) #endif |