X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=includes%2FRtsAPI.h;h=41f0fc026c502fc4697d25ea11a6eb53e9013b83;hb=c6e9a86f03efb4fdef5ed10fcb93b64439fdec60;hp=1b6678905997cade16147a5dca9ac737c305eec6;hpb=0065d5ab628975892cea1ec7303f968c3338cbe1;p=ghc-hetmet.git diff --git a/includes/RtsAPI.h b/includes/RtsAPI.h index 1b66789..41f0fc0 100644 --- a/includes/RtsAPI.h +++ b/includes/RtsAPI.h @@ -22,7 +22,8 @@ typedef enum { NoStatus, /* not finished yet */ Success, /* completed successfully */ Killed, /* uncaught exception */ - Interrupted /* stopped in response to a call to interruptStgRts */ + Interrupted, /* stopped in response to a call to interruptStgRts */ + HeapExhausted /* out of memory */ } SchedulerStatus; typedef StgClosure *HaskellObj; @@ -42,7 +43,15 @@ extern void shutdownHaskell ( void ); extern void shutdownHaskellAndExit ( int exitCode ); extern void getProgArgv ( int *argc, char **argv[] ); extern void setProgArgv ( int argc, char *argv[] ); +extern void getFullProgArgv ( int *argc, char **argv[] ); +extern void setFullProgArgv ( int argc, char *argv[] ); +#ifndef mingw32_HOST_OS +extern void shutdownHaskellAndSignal (int sig); +#endif + +/* exit() override */ +extern void (*exitFn)(int); /* ---------------------------------------------------------------------------- Locking. @@ -141,10 +150,10 @@ rts_getSchedStatus (Capability *cap); These are used by foreign export and foreign import "wrapper" stubs. ----------------------------------------------------------------------- */ -extern StgWord GHCziTopHandler_runIO_closure[]; -extern StgWord GHCziTopHandler_runNonIO_closure[]; -#define runIO_closure GHCziTopHandler_runIO_closure -#define runNonIO_closure GHCziTopHandler_runNonIO_closure +extern StgWord base_GHCziTopHandler_runIO_closure[]; +extern StgWord base_GHCziTopHandler_runNonIO_closure[]; +#define runIO_closure base_GHCziTopHandler_runIO_closure +#define runNonIO_closure base_GHCziTopHandler_runNonIO_closure /* ------------------------------------------------------------------------ */