aboutsummaryrefslogtreecommitdiffstats
path: root/util/system/atexit.h
blob: e1b923504aff69f7d6733dbbbcf334e20783b16e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#pragma once
 
#include "defaults.h" 
 
using TAtExitFunc = void (*)(void*);
using TTraditionalAtExitFunc = void (*)();
 
void AtExit(TAtExitFunc func, void* ctx); 
void AtExit(TAtExitFunc func, void* ctx, size_t priority); 
 
void AtExit(TTraditionalAtExitFunc func); 
void AtExit(TTraditionalAtExitFunc func, size_t priority); 

bool ExitStarted();

/**
 * Generally it's a bad idea to call this method except for some rare cases,
 * like graceful python DLL module unload.
 * This function is not threadsafe.
 * Calls in the moment when application is not terminating - bad idea.
 */
void ManualRunAtExitFinalizers();