add missing delayed purge logic

This commit is contained in:
Christian Grothoff 2020-11-22 22:57:58 +01:00
parent cbba3d5f29
commit 6082ac8151
No known key found for this signature in database
GPG Key ID: 939E6BE1E29FC3CC

View File

@ -78,9 +78,7 @@ struct DenominationKey
char *filename; char *filename;
/** /**
* The private key of the denomination. Will be NULL if the private * The private key of the denomination.
* key is not available (this is the case after the key has expired
* for signing coins, but is still valid for depositing coins).
*/ */
struct TALER_DenominationPrivateKey denom_priv; struct TALER_DenominationPrivateKey denom_priv;
@ -590,6 +588,14 @@ handle_done (void *cls)
&sr->header); &sr->header);
GNUNET_free (sr); GNUNET_free (sr);
} }
{
struct DenominationKey *dk = wi->dk;
dk->rc--;
if ( (0 == dk->rc) &&
(dk->purge) )
free_dk (dk);
}
GNUNET_free (wi); GNUNET_free (wi);
GNUNET_assert (0 == pthread_mutex_lock (&done_lock)); GNUNET_assert (0 == pthread_mutex_lock (&done_lock));
} }