diff options
Diffstat (limited to 'src/util/taler-helper-crypto-rsa.c')
-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)); } |