releaseFrameworkAndTerminate#

Fully qualified name: carb::releaseFrameworkAndTerminate

Defined in carb/Framework.h

void carb::releaseFrameworkAndTerminate(int exitCode)#

Releases the Carbonite framework immediately and exits the process.

All registered plugins will be shutdown and unloaded and any registered C/C++ atexit() functions will be run. This shutdown and terminate function should only be called in cases where the intention is to perform a full shutdown of all plugins and interfaces in a way that guarantees the process will exit.

This function performs the following sequence:

  1. Calls any exported carbOnPluginShutdown functions on all loaded plugins if the framework is acquired. Plugins will be unloaded, unregistered and all interfaces will be released.

  2. All built-in interfaces are shutdown and released.

  3. Calls any registered Framework release hooks (see carb::Framework::addReleaseHook()) in reverse order of registration if the framework is acquired.

  4. Flushes stdout/stderr.

  5. Calls TerminateProcess() on Windows or _exit() on Linux.

Thread Safety

May be called from any thread.

Note

This function does not return.

Warning

This function must not be called from within a DLL, shared object, or plugin.

Parameters:

exitCode[in] The exit code that the process will exit with.