summaryrefslogtreecommitdiff
path: root/includes/RtsAPI.h
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix #2592: do an orderly shutdown when the heap is exhaustedSimon Marlow2008-12-091-1/+2
| | | | | | Really we should be raising an exception in this case, but that's tricky (see comments). At least now we shut down the runtime correctly rather than just exiting.
* FIX part of #2301, and #1619Simon Marlow2008-07-091-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | 2301: Control-C now causes the new exception (AsyncException UserInterrupt) to be raised in the main thread. The signal handler is set up by GHC.TopHandler.runMainIO, and can be overriden in the usual way by installing a new signal handler. The advantage is that now all programs will get a chance to clean up on ^C. When UserInterrupt is caught by the topmost handler, we now exit the program via kill(getpid(),SIGINT), which tells the parent process that we exited as a result of ^C, so the parent can take appropriate action (it might want to exit too, for example). One subtlety is that we have to use a weak reference to the ThreadId for the main thread, so that the signal handler doesn't prevent the main thread from being subject to deadlock detection. 1619: we now ignore SIGPIPE by default. Although POSIX says that a SIGPIPE should terminate the process by default, I wonder if this decision was made because many C applications failed to check the exit code from write(). In Haskell a failed write due to a closed pipe will generate an exception anyway, so the main difference is that we now get a useful error message instead of silent program termination. See #1619 for more discussion.
* Implement the RTS side of GHC.Environment.getFullArgsIan Lynagh2007-07-171-0/+2
|
* make exit() overridable, for use in DLLsSimon Marlow2006-08-091-0/+2
| | | | See #753
* change wired-in Haskell symbols to include the package nameSimon Marlow2006-07-261-4/+4
|
* Reorganisation of the source treeSimon Marlow2006-04-071-0/+155
Most of the other users of the fptools build system have migrated to Cabal, and with the move to darcs we can now flatten the source tree without losing history, so here goes. The main change is that the ghc/ subdir is gone, and most of what it contained is now at the top level. The build system now makes no pretense at being multi-project, it is just the GHC build system. No doubt this will break many things, and there will be a period of instability while we fix the dependencies. A straightforward build should work, but I haven't yet fixed binary/source distributions. Changes to the Building Guide will follow, too.