diff options
author | bje <bje@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-11-30 00:23:45 +0000 |
---|---|---|
committer | guest <ivmai@mail.ru> | 2011-07-29 10:54:29 +0400 |
commit | a5901ac39b8631915468a087af6de3af52c638ef (patch) | |
tree | 418cb3902791c28366fc50637df188c6d36998a2 | |
parent | 5ca19a3457048dbabfe518dda4f5131e9a4f1aae (diff) | |
download | bdwgc-a5901ac39b8631915468a087af6de3af52c638ef.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154747 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | os_dep.c | 14 |
2 files changed, 14 insertions, 6 deletions
@@ -1,3 +1,9 @@ +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> * Makefile.am (libgcjgc_la_LINK, gctest_LINK): New. @@ -501,7 +501,13 @@ void GC_enable_signals(void) && !defined(MACOS) && !defined(DJGPP) && !defined(DOS4GW) \ && !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 */ # define SIGSET_T int # define SIG_DEL(set, signal) (set) &= ~(sigmask(signal)) @@ -511,11 +517,7 @@ void GC_enable_signals(void) /* a signal 32. */ # define SIGSETMASK(old, new) (old) = sigsetmask(new) # else - /* 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)) +# error undetectable signal API # endif static GC_bool mask_initialized = FALSE; |