Commit 1f67f803 by Ben Elliston Committed by Ben Elliston

os_dep.c: Use the POSIX signal API in preference to the BSD API.

	* os_dep.c: Use the POSIX signal API in preference to the BSD API.
	Generate a compilation error if neither the POSIX nor BSD APIs can
	be detected.

From-SVN: r154747
parent 7abe582f
2009-11-30 Ben Elliston <bje@au.ibm.com>
* os_dep.c: Use the POSIX signal API in preference to the BSD API.
Generate a compilation error if neither the POSIX nor BSD APIs can
be detected.
2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* Makefile.am (libgcjgc_la_LINK, gctest_LINK): New. * Makefile.am (libgcjgc_la_LINK, gctest_LINK): New.
......
...@@ -501,7 +501,13 @@ void GC_enable_signals(void) ...@@ -501,7 +501,13 @@ void GC_enable_signals(void)
&& !defined(MACOS) && !defined(DJGPP) && !defined(DOS4GW) \ && !defined(MACOS) && !defined(DJGPP) && !defined(DOS4GW) \
&& !defined(NOSYS) && !defined(ECOS) && !defined(NOSYS) && !defined(ECOS)
# if defined(sigmask) && !defined(UTS4) && !defined(HURD) # if defined(SIG_BLOCK)
/* Use POSIX/SYSV interface */
# define SIGSET_T sigset_t
# define SIG_DEL(set, signal) sigdelset(&(set), (signal))
# define SIG_FILL(set) sigfillset(&set)
# define SIGSETMASK(old, new) sigprocmask(SIG_SETMASK, &(new), &(old))
# elif defined(sigmask) && !defined(UTS4) && !defined(HURD)
/* Use the traditional BSD interface */ /* Use the traditional BSD interface */
# define SIGSET_T int # define SIGSET_T int
# define SIG_DEL(set, signal) (set) &= ~(sigmask(signal)) # define SIG_DEL(set, signal) (set) &= ~(sigmask(signal))
...@@ -511,11 +517,7 @@ void GC_enable_signals(void) ...@@ -511,11 +517,7 @@ void GC_enable_signals(void)
/* a signal 32. */ /* a signal 32. */
# define SIGSETMASK(old, new) (old) = sigsetmask(new) # define SIGSETMASK(old, new) (old) = sigsetmask(new)
# else # else
/* Use POSIX/SYSV interface */ # error undetectable signal API
# define SIGSET_T sigset_t
# define SIG_DEL(set, signal) sigdelset(&(set), (signal))
# define SIG_FILL(set) sigfillset(&set)
# define SIGSETMASK(old, new) sigprocmask(SIG_SETMASK, &(new), &(old))
# endif # endif
static GC_bool mask_initialized = FALSE; static GC_bool mask_initialized = FALSE;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment