From 1339c6bf0b6b3f81e0093b65153acc6227748e19 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Tue, 23 Aug 2022 22:27:16 +0200 Subject: -fix locking --- src/bank-lib/fakebank.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) (limited to 'src/bank-lib') diff --git a/src/bank-lib/fakebank.c b/src/bank-lib/fakebank.c index 6fa150881..bde51b6ad 100644 --- a/src/bank-lib/fakebank.c +++ b/src/bank-lib/fakebank.c @@ -3567,6 +3567,8 @@ access_withdrawals_confirm (struct TALER_FAKEBANK_Handle *h, TALER_EC_BANK_CONFIRM_ABORT_CONFLICT, account_name); } + GNUNET_assert (0 == + pthread_mutex_unlock (&h->big_lock)); if (GNUNET_OK != make_admin_transfer (h, wo->debit_account->account_name, @@ -3576,13 +3578,13 @@ access_withdrawals_confirm (struct TALER_FAKEBANK_Handle *h, &wo->row_id, &wo->timestamp)) { - GNUNET_assert (0 == - pthread_mutex_unlock (&h->big_lock)); return TALER_MHD_reply_with_error (connection, MHD_HTTP_CONFLICT, TALER_EC_BANK_DUPLICATE_RESERVE_PUB_SUBJECT, NULL); } + GNUNET_assert (0 == + pthread_mutex_lock (&h->big_lock)); wo->confirmation_done = true; notify_withdrawal (h, wo); @@ -3697,7 +3699,6 @@ handle_bank_access (struct TALER_FAKEBANK_Handle *h, } wi = GNUNET_strndup (wid, opid - wid); - if (0 == strcmp (opid, "/abort")) { @@ -3720,13 +3721,7 @@ handle_bank_access (struct TALER_FAKEBANK_Handle *h, GNUNET_free (acc); return ret; } - GNUNET_break_op (0); - GNUNET_free (wi); - GNUNET_free (acc); - return TALER_MHD_reply_with_error (connection, - MHD_HTTP_NOT_FOUND, - TALER_EC_GENERIC_ENDPOINT_UNKNOWN, - acc_name); + GNUNET_assert (0); } ret = post_account_withdrawals_access (h, connection, -- cgit v1.2.3