# Civetweb API Reference

### `mg_exit_library( );`

### Parameters

none

### Return Value

| Type | Description |
| :--- | :--- |
|`unsigned`| **0** is returned or error |

### Description

The function `mg_exit_library()` should be called from an application program, when the library should be unloaded.
It can be called multiple times (`mg_init_library` and `mg_exit_library` are reference counting).
However, the caller must make sure it is not called in parallel (it is not guaranteed to be thread safe).

Only use `mg_exit_library( );` when you used [`mg_init_library( feature );`](api/mg_init_library.md) before.

The library init and exit functions are new in version 1.9 (as dummy implementation) and effective only from version 1.10.
For compatibility reasons, other functions (such as [`mg_start();`](mg_start.md)) will initialize the required features as well,
but they will no longer do a de-initialization, leaving a memory leak when the library is unloaded.

### See Also

* [`mg_init_library( feature );`](mg_init_library.md)
* [`mg_check_feature( feature );`](mg_check_feature.md)
