/* -----------------------------------------------------------------------------
- * $Id: RtsUtils.c,v 1.13 2000/01/13 14:34:04 hwloidl Exp $
+ * $Id: RtsUtils.c,v 1.18 2001/02/13 11:10:28 rrt Exp $
*
* (c) The GHC Team, 1998-1999
*
*
* ---------------------------------------------------------------------------*/
+/* gettimeofday isn't POSIX */
+#define NON_POSIX_SOURCE
+
#include "Rts.h"
#include "RtsTypes.h"
#include "RtsAPI.h"
void
_stgAssert (char *filename, nat linenum)
{
- /* don't fflush(stdout); WORKAROUND bug in Linux glibc */
+ fflush(stdout);
fprintf(stderr, "ASSERTION FAILED: file %s, line %u\n", filename, linenum);
+ fflush(stderr);
abort();
}
{
long fd_flags;
-#if !defined(_WIN32) || defined(__CYGWIN__) || defined(__CYGWIN32__)
+#if !defined(mingw32_TARGET_OS)
/* clear the non-blocking flag on this file descriptor */
fd_flags = fcntl(fd, F_GETFL);
if (fd_flags & O_NONBLOCK) {
#endif
}
-#if 0
static ullong startTime = 0;
/* used in a parallel setup */
ullong
msTime(void)
{
-# if defined(HAVE_GETCLOCK) && !defined(alpha_TARGET_ARCH)
+# if defined(HAVE_GETCLOCK) && !defined(alpha_TARGET_ARCH) && !defined(hppa1_1_TARGET_ARCH)
struct timespec tv;
if (getclock(TIMEOFDAY, &tv) != 0) {
return t * LL(1000) - startTime;
# endif
}
-#endif
-
/* -----------------------------------------------------------------------------
Print large numbers, with punctuation.