httpd db: insert new session into the DB before it is referenced

This commit is contained in:
Sree Harsha Totakura 2015-04-09 21:57:43 +02:00
parent 0619d6d345
commit 05f0aca976

View File

@ -649,6 +649,23 @@ TMH_DB_execute_refresh_melt (struct MHD_Connection *connection,
return TMH_RESPONSE_reply_internal_db_error (connection); return TMH_RESPONSE_reply_internal_db_error (connection);
} }
/* store 'global' session data */
refresh_session.num_oldcoins = coin_count;
refresh_session.num_newcoins = num_new_denoms;
refresh_session.noreveal_index
= GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_STRONG,
TALER_CNC_KAPPA);
if (GNUNET_OK !=
(res = TMH_plugin->create_refresh_session (TMH_plugin->cls,
session,
session_hash,
&refresh_session)))
{
TMH_plugin->rollback (TMH_plugin->cls,
session);
return TMH_RESPONSE_reply_internal_db_error (connection);
}
/* Melt old coins and check that they had enough residual value */ /* Melt old coins and check that they had enough residual value */
key_state = TMH_KS_acquire (); key_state = TMH_KS_acquire ();
for (i=0;i<coin_count;i++) for (i=0;i<coin_count;i++)
@ -713,26 +730,6 @@ TMH_DB_execute_refresh_melt (struct MHD_Connection *connection,
} }
} }
/* store 'global' session data */
refresh_session.num_oldcoins = coin_count;
refresh_session.num_newcoins = num_new_denoms;
refresh_session.noreveal_index
= GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_STRONG,
TALER_CNC_KAPPA);
if (GNUNET_OK !=
(res = TMH_plugin->create_refresh_session (TMH_plugin->cls,
session,
session_hash,
&refresh_session)))
{
TMH_plugin->rollback (TMH_plugin->cls,
session);
return TMH_RESPONSE_reply_internal_db_error (connection);
}
if (GNUNET_OK != if (GNUNET_OK !=
TMH_plugin->commit (TMH_plugin->cls, TMH_plugin->commit (TMH_plugin->cls,
session)) session))