releaseFrameworkAndShutdown#

Fully qualified name: carb::releaseFrameworkAndShutdown

Defined in carb/Framework.h

void carb::releaseFrameworkAndShutdown()#

Unloads all plugins and shuts down the Carbonite Framework without terminating the process.

Releases the Carbonite framework immediately and shuts down all registered plugins and interfaces properly. The process is not terminated upon return. That exercise is left up to the caller. This shutdown function should only be called in cases where the intention is to shutdown the framework and release as many resources as possible before returning. Upon return, no Carbonite framework or interface functions may be called. It is not guaranteed that the Carbonite framework can be restarted within the same process after calling this function.

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.

Thread Safety

May be called from any thread.