/* -----------------------------------------------------------------------------
- * $Id: RtsUtils.c,v 1.18 2001/02/13 11:10:28 rrt Exp $
+ * $Id: RtsUtils.c,v 1.23 2001/10/31 10:30:29 simonmar Exp $
*
* (c) The GHC Team, 1998-1999
*
* ---------------------------------------------------------------------------*/
/* gettimeofday isn't POSIX */
-#define NON_POSIX_SOURCE
+/* #include "PosixSource.h" */
#include "Rts.h"
#include "RtsTypes.h"
return(stgReallocBytes(p, n * sizeof(W_), msg));
}
+void *
+stgCallocBytes (int n, int m, char *msg)
+{
+ int i;
+ int sz = n * m;
+ char* p = stgMallocBytes(sz, msg);
+ for (i = 0; i < sz; i++) p[i] = 0;
+ return p;
+}
+
void
-_stgAssert (char *filename, nat linenum)
+_stgAssert (char *filename, unsigned int linenum)
{
fflush(stdout);
fprintf(stderr, "ASSERTION FAILED: file %s, line %u\n", filename, linenum);
#endif
}
+void
+setNonBlockingFd(int fd)
+{
+ long fd_flags;
+
+#if !defined(mingw32_TARGET_OS)
+ /* clear the non-blocking flag on this file descriptor */
+ fd_flags = fcntl(fd, F_GETFL);
+ fcntl(fd, F_SETFL, fd_flags | O_NONBLOCK);
+#endif
+}
+
static ullong startTime = 0;
/* used in a parallel setup */