X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FMain.c;h=6aef280e256b1476e30422678ad70e7e5618d302;hb=28a464a75e14cece5db40f2765a29348273ff2d2;hp=0b937dfc9e7e4efaf803946ed0547031a906e1a1;hpb=a584b4ffc67402ed3086f7acb8ff46f50dc787cc;p=ghc-hetmet.git diff --git a/ghc/rts/Main.c b/ghc/rts/Main.c index 0b937df..6aef280 100644 --- a/ghc/rts/Main.c +++ b/ghc/rts/Main.c @@ -49,17 +49,7 @@ int main(int argc, char *argv[]) SchedulerStatus status; /* all GranSim/GUM init is done in startupHaskell; sets IAmMainThread! */ -#if defined(PROFILING) || defined(mingw32_HOST_OS) - /* mingw32 and PROFILING (still) define __stginits in .text */ startupHaskell(argc,argv,__stginit_ZCMain); -#else - startupHaskell(argc,argv,NULL); -#endif - - /* 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; @@ -111,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 */