diff options
author | Christian Grothoff <christian@grothoff.org> | 2020-01-17 19:32:12 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2020-01-17 19:32:12 +0100 |
commit | 2ce6c7a9d8fa5940049e0ea9f9f13b908ce6c7f8 (patch) | |
tree | 5140107a6808d6e0a75bdce68bf5584abf90612a /src/exchange/taler-exchange-httpd_keystate.c | |
parent | bf2cdc7ea2c48683b3d5a2433696dfe46cf19dbb (diff) | |
download | exchange-2ce6c7a9d8fa5940049e0ea9f9f13b908ce6c7f8.tar.gz exchange-2ce6c7a9d8fa5940049e0ea9f9f13b908ce6c7f8.tar.bz2 exchange-2ce6c7a9d8fa5940049e0ea9f9f13b908ce6c7f8.zip |
more KS cleanups, including one race fix
Diffstat (limited to 'src/exchange/taler-exchange-httpd_keystate.c')
-rw-r--r-- | src/exchange/taler-exchange-httpd_keystate.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/exchange/taler-exchange-httpd_keystate.c b/src/exchange/taler-exchange-httpd_keystate.c index b9de15b22..35bf52f65 100644 --- a/src/exchange/taler-exchange-httpd_keystate.c +++ b/src/exchange/taler-exchange-httpd_keystate.c @@ -2273,13 +2273,19 @@ read_again: void TEH_KS_free () { + GNUNET_assert (0 == pthread_mutex_lock (&internal_key_state_mutex)); if (NULL != internal_key_state) { struct TEH_KS_StateHandle *ks = internal_key_state; internal_key_state = NULL; + GNUNET_assert (0 == pthread_mutex_unlock (&internal_key_state_mutex)); TEH_KS_release (ks); } + else + { + GNUNET_assert (0 == pthread_mutex_unlock (&internal_key_state_mutex)); + } } |