libfbclient handle signals on its own, so driver will get shutdown error on SIGTERM/SIGINT/SIGBREAK and there is no other possibilities to prevent it and softly stop process except handling shutdown manually:
Sorry, I accidentally closed previous PR by deleting branch. I've removed fb_shutdown in this PR (of course it already implemented in OO API, thanks) but kept fbshut* flags.
libfbclient handle signals on its own, so driver will get shutdown error on SIGTERM/SIGINT/SIGBREAK and there is no other possibilities to prevent it and softly stop process except handling shutdown manually:
Example of fb_shutdown_callback usage:
@FB_SHUTDOWN_CALLBACK def driver_shutdown_callback(reason, mask, arg): return 1 if reason == fb_shutrsn_signal else 0
def api_loaded_hook(api): status = ISC_STATUS_ARRAY(20) api.fb_shutdown_callback(status, driver_shutdown_callback, fb_shut_confirmation, None) if db_api_error(status): raise exception_from_status(InternalError, status, "Error while adding shutdown callback")
add_hook(APIHook.LOADED, FirebirdAPI, api_loaded_hook)