diff options
author | Christian Grothoff <christian@grothoff.org> | 2020-11-22 22:57:58 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2020-11-22 22:57:58 +0100 |
commit | 6082ac8151fd845e65b2222de03b8b10de555f74 (patch) | |
tree | 9ee5d3a22b3e45ac5dc185cda176566b4afbdfad /src | |
parent | cbba3d5f292517c72b6c20299d9c023ba7a4c344 (diff) |
add missing delayed purge logic
Diffstat (limited to 'src')
-rw-r--r-- | src/util/taler-helper-crypto-rsa.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/util/taler-helper-crypto-rsa.c b/src/util/taler-helper-crypto-rsa.c index b8f959ee3..e72a7824b 100644 --- a/src/util/taler-helper-crypto-rsa.c +++ b/src/util/taler-helper-crypto-rsa.c @@ -78,9 +78,7 @@ struct DenominationKey char *filename; /** - * The private key of the denomination. Will be NULL if the private - * key is not available (this is the case after the key has expired - * for signing coins, but is still valid for depositing coins). + * The private key of the denomination. */ struct TALER_DenominationPrivateKey denom_priv; @@ -590,6 +588,14 @@ handle_done (void *cls) &sr->header); GNUNET_free (sr); } + { + struct DenominationKey *dk = wi->dk; + + dk->rc--; + if ( (0 == dk->rc) && + (dk->purge) ) + free_dk (dk); + } GNUNET_free (wi); GNUNET_assert (0 == pthread_mutex_lock (&done_lock)); } |