quick_exit Subroutine

Purpose

This subroutine causes normal program termination to occur without completely cleaning the resources.

Library

Standard C Library (libc.a)

Syntax

#include <stdlib.h>
_Noreturn void quick_exit(int status);

Description

The quick_exit subroutine causes normal program termination to occur. Subroutines that are registered by the atexit subroutine or signal handlers that are registered by the signal subroutine are not called. If a program calls the quick_exit subroutine more than one time or if the program calls the exit subroutine in addition to the quick_exit subroutine, the behavior is unspecified. If a signal is raised while the quick_exit subroutine is running, the behavior is unspecified.

The quick_exit subroutine first calls all subroutines that are registered by the at_quick_exit subroutine, in the reverse order of their registration, except that a subroutine is called after any previously registered subroutines which are already being called at the time it was registered. If during the call to any such subroutine, a call to the longjmp subroutine is made that might stop the call to the registered subroutine, the behavior is undefined.

The control is returned to the host environment by the _Exit(status) subroutine call.

Return Values

The quick_exit cannot return any value to its caller.

Files

Item Description
threads.h Standard macros, data types, and subroutines are defined by the threads.h file.