projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 2005-03-07 13:18:51 by simonmar]
[ghc-hetmet.git]
/
ghc
/
rts
/
RtsUtils.c
diff --git
a/ghc/rts/RtsUtils.c
b/ghc/rts/RtsUtils.c
index
f4d61b1
..
646fba9
100644
(file)
--- a/
ghc/rts/RtsUtils.c
+++ b/
ghc/rts/RtsUtils.c
@@
-32,13
+32,12
@@
#include <stdarg.h>
#include <stdio.h>
#include <stdarg.h>
#include <stdio.h>
-#if defined(openbsd_TARGET_OS)
-# ifdef HAVE_SIGNAL_H
-# include <signal.h>
-# endif
-# ifdef HAVE_PTHREAD_H
-# include <pthread.h>
-# endif
+#ifdef HAVE_SIGNAL_H
+#include <signal.h>
+#endif
+
+#if defined(THREADED_RTS) && defined(openbsd_HOST_OS) && defined(HAVE_PTHREAD_H)
+#include <pthread.h>
#endif
/* -----------------------------------------------------------------------------
#endif
/* -----------------------------------------------------------------------------
@@
-90,15
+89,6
@@
stgFree(void* p)
free(p);
}
free(p);
}
-void
-_stgAssert (char *filename, unsigned int linenum)
-{
- fflush(stdout);
- fprintf(stderr, "ASSERTION FAILED: file %s, line %u\n", filename, linenum);
- fflush(stderr);
- abort();
-}
-
/* -----------------------------------------------------------------------------
Stack overflow
/* -----------------------------------------------------------------------------
Stack overflow
@@
-192,7
+182,7
@@
time_str(void)
* clean up for us.
* -------------------------------------------------------------------------- */
* clean up for us.
* -------------------------------------------------------------------------- */
-#if !defined(mingw32_TARGET_OS)
+#if !defined(mingw32_HOST_OS)
void
resetNonBlockingFd(int fd)
{
void
resetNonBlockingFd(int fd)
{
@@
-231,7
+221,7
@@
static ullong startTime = 0;
ullong
msTime(void)
{
ullong
msTime(void)
{
-# if defined(HAVE_GETCLOCK) && !defined(alpha_TARGET_ARCH) && !defined(hppa1_1_TARGET_ARCH)
+# if defined(HAVE_GETCLOCK) && !defined(alpha_HOST_ARCH) && !defined(hppa1_1_HOST_ARCH)
struct timespec tv;
if (getclock(TIMEOFDAY, &tv) != 0) {
struct timespec tv;
if (getclock(TIMEOFDAY, &tv) != 0) {
@@
-240,7
+230,7
@@
msTime(void)
stg_exit(EXIT_FAILURE);
}
return tv.tv_sec * LL(1000) + tv.tv_nsec / LL(1000000) - startTime;
stg_exit(EXIT_FAILURE);
}
return tv.tv_sec * LL(1000) + tv.tv_nsec / LL(1000000) - startTime;
-# elif HAVE_GETTIMEOFDAY && !defined(alpha_TARGET_ARCH)
+# elif HAVE_GETTIMEOFDAY && !defined(alpha_HOST_ARCH)
struct timeval tv;
if (gettimeofday(&tv, NULL) != 0) {
struct timeval tv;
if (gettimeofday(&tv, NULL) != 0) {
@@
-298,18
+288,16
@@
heapCheckFail( void )
#endif
/*
#endif
/*
- * It seems that pthreads and signals interact oddly in OpenBSD
- * pthreads (and possibly FreeBSD). When linking with -lpthreads, we
+ * It seems that pthreads and signals interact oddly in OpenBSD & FreeBSD
+ * pthreads (and possibly others). When linking with -lpthreads, we
* have to use pthread_kill to send blockable signals. So use that
* when we have a threaded rts. So System.Posix.Signals will call
* genericRaise(), rather than raise(3).
*/
* have to use pthread_kill to send blockable signals. So use that
* when we have a threaded rts. So System.Posix.Signals will call
* genericRaise(), rather than raise(3).
*/
-#if defined(openbsd_TARGET_OS)
int genericRaise(int sig) {
int genericRaise(int sig) {
-# if defined(THREADED_RTS)
+#if defined(THREADED_RTS) && (defined(openbsd_HOST_OS) || defined(freebsd_HOST_OS))
return pthread_kill(pthread_self(), sig);
return pthread_kill(pthread_self(), sig);
-# else
+#else
return raise(sig);
return raise(sig);
-# endif
-}
#endif
#endif
+}