X-Git-Url: https://git.sommitrealweird.co.uk/onak.git/blobdiff_plain/abd73876aa3545e3bfcffd44680538a3c10bb84c..1daf67e8e9262de579ba9d23691482529243cce3:/cleanup.h?ds=sidebyside diff --git a/cleanup.h b/cleanup.h new file mode 100644 index 0000000..c5361c9 --- /dev/null +++ b/cleanup.h @@ -0,0 +1,39 @@ +/* + * cleanup.h - Cleanup and shutdown framework. + * + * Jonathan McDowell + * + * Copyright 2004 Project Purple + */ + +#ifndef __CLEANUP_H__ +#define __CLEANUP_H__ + +#include + +/* + * trytocleanup - say we should try to cleanup. + * + * This function sets the cleanup flag indicating we want to try and + * cleanup ASAP. + */ +void trytocleanup(void); + +/* + * cleanup - indicate if we should try to cleanup. + * + * This function returns a bool which indicates if we want to cleanup and + * exit ASAP. + */ +bool cleanup(void); + +/* + * catchsignals - Register signal handlers for various signals. + * + * This function registers a signal handler for various signals (PIPE, + * ALRM, INT, TERM, HUP) that sets the cleanup flag so we try to exit + * ASAP, but cleanly. + */ +void catchsignals(void); + +#endif /* __CLEANUP_H__ */