X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FMain.c;h=6aef280e256b1476e30422678ad70e7e5618d302;hb=6a710247bc1a7b9bced7a4e6f143de91eb4f9552;hp=c6d41702a830c44a205b337f816c81e94c9b709f;hpb=9a92cb1ca49cb555ff66dcfcb9295ebf75d1ce01;p=ghc-hetmet.git diff --git a/ghc/rts/Main.c b/ghc/rts/Main.c index c6d4170..6aef280 100644 --- a/ghc/rts/Main.c +++ b/ghc/rts/Main.c @@ -51,11 +51,6 @@ int main(int argc, char *argv[]) startupHaskell(argc,argv,__stginit_ZCMain); - /* Register this thread as a task, so we can get timing stats about it */ -#if defined(RTS_SUPPORTS_THREADS) - threadIsTask(osThreadId()); -#endif - /* kick off the computation by creating the main thread with a pointer to mainIO_closure representing the computation of the overall program; then enter the scheduler with this thread and off we go; @@ -106,9 +101,12 @@ int main(int argc, char *argv[]) # else /* !PAR && !GRAN */ /* ToDo: want to start with a larger stack size */ - rts_lock(); - status = rts_evalLazyIO((HaskellObj)mainIO_closure, NULL); - rts_unlock(); + { + void *cap = rts_lock(); + cap = rts_evalLazyIO(cap,(HaskellObj)(void *)mainIO_closure, NULL); + status = rts_getSchedStatus(cap); + rts_unlock(cap); + } # endif /* !PAR && !GRAN */