Commit 0688d49e authored by simonmar's avatar simonmar
Browse files

[project @ 2004-10-11 10:54:57 by simonmar]

genericRaise() hack needed on FreeBSD too.
parent c73f13cf
...@@ -297,14 +297,14 @@ heapCheckFail( void ) ...@@ -297,14 +297,14 @@ heapCheckFail( void )
#endif #endif
/* /*
* It seems that pthreads and signals interact oddly in OpenBSD * It seems that pthreads and signals interact oddly in OpenBSD & FreeBSD
* pthreads (and possibly FreeBSD). When linking with -lpthreads, we * pthreads (and possibly others). When linking with -lpthreads, we
* have to use pthread_kill to send blockable signals. So use that * have to use pthread_kill to send blockable signals. So use that
* when we have a threaded rts. So System.Posix.Signals will call * when we have a threaded rts. So System.Posix.Signals will call
* genericRaise(), rather than raise(3). * genericRaise(), rather than raise(3).
*/ */
int genericRaise(int sig) { int genericRaise(int sig) {
#if defined(THREADED_RTS) && defined(openbsd_TARGET_OS) #if defined(THREADED_RTS) && (defined(openbsd_TARGET_OS) || defined(freebsd_TARGET_OS))
return pthread_kill(pthread_self(), sig); return pthread_kill(pthread_self(), sig);
#else #else
return raise(sig); return raise(sig);
......
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