more aggressive rollback on failures
This commit is contained in:
parent
54177c6e1d
commit
b64f718037
@ -163,9 +163,11 @@ TEH_DB_run_transaction (struct MHD_Connection *connection,
|
||||
if (GNUNET_DB_STATUS_HARD_ERROR == qs)
|
||||
return GNUNET_SYSERR;
|
||||
if (0 <= qs)
|
||||
{
|
||||
qs = TEH_plugin->commit (TEH_plugin->cls);
|
||||
if (GNUNET_DB_STATUS_HARD_ERROR == qs)
|
||||
{
|
||||
TEH_plugin->rollback (TEH_plugin->cls);
|
||||
if (NULL != mhd_ret)
|
||||
*mhd_ret = TALER_MHD_reply_with_error (connection,
|
||||
MHD_HTTP_INTERNAL_SERVER_ERROR,
|
||||
@ -173,6 +175,9 @@ TEH_DB_run_transaction (struct MHD_Connection *connection,
|
||||
NULL);
|
||||
return GNUNET_SYSERR;
|
||||
}
|
||||
if (0 > qs)
|
||||
TEH_plugin->rollback (TEH_plugin->cls);
|
||||
}
|
||||
/* make sure callback did not violate invariants! */
|
||||
GNUNET_assert ( (NULL == mhd_ret) ||
|
||||
(-1 == (int) *mhd_ret) );
|
||||
|
Loading…
Reference in New Issue
Block a user