X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FEvaluator.c;h=b7906f7589ec34158b9d3ca5a3106508029c0de8;hb=a0b380bb30e37ab75eb42ff3f7e9a9bc60291496;hp=dba69d3a6d69fe9c66ea4d60fb23938df2f0e150;hpb=b32b2d43b67c42f45105df40ae8af42eeb58078f;p=ghc-hetmet.git diff --git a/ghc/rts/Evaluator.c b/ghc/rts/Evaluator.c index dba69d3..b7906f7 100644 --- a/ghc/rts/Evaluator.c +++ b/ghc/rts/Evaluator.c @@ -5,8 +5,8 @@ * Copyright (c) 1994-1998. * * $RCSfile: Evaluator.c,v $ - * $Revision: 1.43 $ - * $Date: 2000/03/20 04:26:24 $ + * $Revision: 1.46 $ + * $Date: 2000/04/03 15:24:21 $ * ---------------------------------------------------------------------------*/ #include "Rts.h" @@ -24,6 +24,7 @@ #include "ForeignCall.h" #include "PrimOps.h" /* for __{encode,decode}{Float,Double} */ #include "Prelude.h" +#include "Itimer.h" #include "Evaluator.h" #include "sainteger.h" @@ -529,8 +530,13 @@ StgThreadReturnCode enter( Capability* cap, StgClosure* obj0 ) cap->rCurrentTSO->why_blocked = BlockedOnDelay; ACQUIRE_LOCK(&sched_mutex); +#if defined(HAVE_SETITIMER) || defined(mingw32_TARGET_OS) cap->rCurrentTSO->block_info.delay = hugsBlock.delay + ticks_since_select; +#else + cap->rCurrentTSO->block_info.target + = hugsBlock.delay + getourtimeofday(); +#endif APPEND_TO_BLOCKED_QUEUE(cap->rCurrentTSO); RELEASE_LOCK(&sched_mutex);