exit :: IO ()
GLUT Graphics.UI.GLUT.Initialization
(freeglut only) De-initialize GLUT. After this, one has to use initialize or getArgsAndInitialize to initialize GLUT again.
exitFailure :: IO a
base System.Exit
The computation exitFailure is equivalent to exitWith (ExitFailure exitfail), exitfail is implementation-dependent.
exitSuccess :: IO a
base System.Exit
The computation exitSuccess is equivalent to exitWith ExitSuccess, It terminates the program successfully.
exitWith :: ExitCode -> IO a
base System.Exit
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 it it had called exitWith ExitSuccess. As an ExitCode is not an IOError, exitWith bypasses the error handling in the IO monad and cannot be intercepted by catch from the Prelude. However it is a SomeException, and can be caught using the functions of Control.Exception. This means that cleanup computations added with Control.Exception.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 ExitException as normal, but the exception will not cause the process itself to exit.
exitImmediately :: ExitCode -> IO ()
unix System.Posix.Process.ByteString, unix System.Posix.Process
exitImmediately status calls _exit to terminate the process with the indicated exit status. The operation never returns.
module System.Exit
base System.Exit
Exiting the program.
Exit :: ActionOnWindowClose
GLUT Graphics.UI.GLUT.Begin
Exit the whole program when any window is closed or leaveMainLoop is called (default).
data ExitCode
base System.Exit
Defines the exit codes that a program can return.
ExitException :: ExitCode -> Exception
base Control.OldException
The ExitException exception is thrown by System.Exit.exitWith (and System.Exit.exitFailure). The ExitCode argument is the value passed to System.Exit.exitWith. An unhandled ExitException exception in the main thread will cause the program to be terminated with the given exit code.
ExitFailure :: Int -> ExitCode
base System.Exit
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).
ExitSuccess :: ExitCode
base System.Exit
indicates successful termination;
Exited :: ExitCode -> ProcessStatus
unix System.Posix.Process.Internals, unix System.Posix.Process.ByteString, unix System.Posix.Process
package complexity
Determine the complexity of functions by testing them on inputs of various sizes. Version 0.1.3
getProcessExitCode :: ProcessHandle -> IO (Maybe ExitCode)
process System.Process
This is a non-blocking version of waitForProcess. If the process is still running, Nothing is returned. If the process has exited, then Just e is returned is the exit code of the process.
readProcessWithExitCode :: FilePath -> [String] -> String -> IO (ExitCode, String, String)
process System.Process
readProcessWithExitCode creates an external process, reads its standard output and standard error strictly, waits until the process terminates, and then returns the ExitCode of the process, the standard output, and the standard error. If an asynchronous exception is thrown to the thread executing readProcessWithExitCode. The forked process will be terminated and readProcessWithExitCode will wait (block) until the process has been terminated. readProcess and readProcessWithExitCode are fairly simple wrappers around createProcess. Constructing variants of these functions is quite easy: follow the link to the source code to see how readProcess is implemented.