diff options
author | Christian Grothoff <christian@grothoff.org> | 2018-08-09 20:51:42 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2018-08-09 20:51:42 +0200 |
commit | e3f7083b3eb39ed28eee27b6104a3a508437c929 (patch) | |
tree | 214369f070633e4be5011b2c0aa0fa1a18b8b3ce /src/exchange/taler-exchange-httpd_keystate.c | |
parent | d9474aab0ff6636962ca44dfb90d597203bd98df (diff) | |
download | exchange-e3f7083b3eb39ed28eee27b6104a3a508437c929.tar.gz exchange-e3f7083b3eb39ed28eee27b6104a3a508437c929.tar.bz2 exchange-e3f7083b3eb39ed28eee27b6104a3a508437c929.zip |
fix KS state freeing on exit
Diffstat (limited to 'src/exchange/taler-exchange-httpd_keystate.c')
-rw-r--r-- | src/exchange/taler-exchange-httpd_keystate.c | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/src/exchange/taler-exchange-httpd_keystate.c b/src/exchange/taler-exchange-httpd_keystate.c index 987a938fc..4d1f8888f 100644 --- a/src/exchange/taler-exchange-httpd_keystate.c +++ b/src/exchange/taler-exchange-httpd_keystate.c @@ -1841,8 +1841,8 @@ TEH_KS_loop (void) if (0 != pipe (reload_pipe)) { - fprintf (stderr, - "Failed to create pipe.\n"); + GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, + "pipe"); return GNUNET_SYSERR; } sigusr1 = GNUNET_SIGNAL_handler_install (SIGUSR1, @@ -1915,11 +1915,6 @@ read_again: break; } } - if (NULL != internal_key_state) - { - TEH_KS_release (internal_key_state); - internal_key_state = NULL; - } GNUNET_SIGNAL_handler_uninstall (sigusr1); GNUNET_SIGNAL_handler_uninstall (sigterm); GNUNET_SIGNAL_handler_uninstall (sigint); @@ -1930,6 +1925,20 @@ read_again: /** + * Finally release #internal_key_state. + */ +void +TEH_KS_free () +{ + if (NULL != internal_key_state) + { + TEH_KS_release (internal_key_state); + internal_key_state = NULL; + } +} + + +/** * Sign the message in @a purpose with the exchange's signing key. * * FIXME: |