/* -----------------------------------------------------------------------------
- * $Id: Itimer.c,v 1.19 2000/10/06 11:05:57 rrt Exp $
+ * $Id: Itimer.c,v 1.20 2001/02/13 11:10:28 rrt Exp $
*
* (c) The GHC Team, 1995-1999
*
/* ticks left before next pre-emptive context switch */
int ticks_to_ctxt_switch = 0;
-static
-void
-#if defined(mingw32_TARGET_OS) || (defined(cygwin32_TARGET_OS) && !defined(HAVE_SETITIMER))
-CALLBACK
-handle_tick(UINT uID STG_UNUSED, UINT uMsg STG_UNUSED, DWORD dwUser STG_UNUSED,
- DWORD dw1 STG_UNUSED, DWORD d STG_UNUSED);
-#else
-handle_tick(int unused STG_UNUSED);
-#endif
-
/* -----------------------------------------------------------------------------
Tick handler
nat
initialize_virtual_timer(nat ms)
{
-# ifdef PROFILING
/* On Win32 setups that don't have support for
setitimer(), we use the MultiMedia API's timer
support.
- As the delivery of ticks isn't free, we only
- enable it if we really needed, i.e., when profiling.
- (GetTickCount is used for threadDelay)
+ The delivery of ticks isn't free; the performance hit should be checked.
*/
unsigned int delay;
static unsigned int vtalrm_id;
timeKillEvent(vtalrm_id);
timeEndPeriod(1);
}
-# endif
return 0;
}
/* -----------------------------------------------------------------------------
- * $Id: RtsUtils.c,v 1.17 2000/07/17 15:15:40 rrt Exp $
+ * $Id: RtsUtils.c,v 1.18 2001/02/13 11:10:28 rrt Exp $
*
* (c) The GHC Team, 1998-1999
*
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();
}