| Copyright | (c) The University of Glasgow 2001 | 
|---|---|
| License | BSD-style (see the file libraries/base/LICENSE) | 
| Maintainer | libraries@haskell.org | 
| Stability | provisional | 
| Portability | portable | 
| Safe Haskell | Trustworthy | 
| Language | Haskell2010 | 
GHC.Internal.System.Exit
Description
Exiting the program.
Documentation
Defines the exit codes that a program can return.
Constructors
| ExitSuccess | indicates successful termination; | 
| ExitFailure Int | indicates program failure with an exit code. The exact interpretation of the code is operating-system dependent. In particular, some values may be prohibited (e.g. 0 on a POSIX-compliant system). | 
Instances
exitWith :: ExitCode -> IO a Source #
Computation exitWith code throws ExitCode code.
 Normally this terminates the program, returning code to the
 program's caller.
On program termination, the standard Handles stdout and
 stderr are flushed automatically; any other buffered Handles
 need to be flushed manually, otherwise the buffered data will be
 discarded.
A program that fails in any other way is treated as if it had
 called exitFailure.
 A program that terminates successfully without calling exitWith
 explicitly is treated as if it had called exitWith ExitSuccess.
As an ExitCode is an Exception, it can be
 caught using the functions of Control.Exception.  This means that
 cleanup computations added with bracket (from
 Control.Exception) are also executed properly on exitWith.
Note: in GHC, exitWith should be called from the main program
 thread in order to exit the process.  When called from another
 thread, exitWith will throw an ExitCode as normal, but the
 exception will not cause the process itself to exit.
exitFailure :: IO a Source #
The computation exitFailure is equivalent to
 exitWith (ExitFailure exitfail),
 where exitfail is implementation-dependent.
exitSuccess :: IO a Source #
The computation exitSuccess is equivalent to
 exitWith ExitSuccess, It terminates the program
 successfully.