fix new /keys shutdown sequence
This commit is contained in:
parent
4a519078e8
commit
20c0c01d02
@ -1417,7 +1417,7 @@ run_single_request (void)
|
||||
}
|
||||
MHD_run (mhd);
|
||||
}
|
||||
TEH_resume_keys_requests ();
|
||||
TEH_resume_keys_requests (true);
|
||||
MHD_stop_daemon (mhd);
|
||||
mhd = NULL;
|
||||
if (cld != waitpid (cld,
|
||||
@ -1486,7 +1486,7 @@ run_main_loop (int fh,
|
||||
{
|
||||
case GNUNET_OK:
|
||||
case GNUNET_SYSERR:
|
||||
TEH_resume_keys_requests ();
|
||||
TEH_resume_keys_requests (true);
|
||||
MHD_stop_daemon (mhd);
|
||||
break;
|
||||
case GNUNET_NO:
|
||||
@ -1542,13 +1542,13 @@ run_main_loop (int fh,
|
||||
num_connections)
|
||||
sleep (1);
|
||||
/* Now we're really done, practice clean shutdown */
|
||||
TEH_resume_keys_requests ();
|
||||
TEH_resume_keys_requests (true);
|
||||
MHD_stop_daemon (mhd);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
GNUNET_break (0);
|
||||
TEH_resume_keys_requests ();
|
||||
TEH_resume_keys_requests (true);
|
||||
MHD_stop_daemon (mhd);
|
||||
break;
|
||||
}
|
||||
|
@ -417,11 +417,13 @@ suspend_request (struct MHD_Connection *connection)
|
||||
|
||||
|
||||
void
|
||||
TEH_resume_keys_requests (void)
|
||||
TEH_resume_keys_requests (bool do_shutdown)
|
||||
{
|
||||
struct SuspendedKeysRequests *skr;
|
||||
|
||||
GNUNET_assert (0 == pthread_mutex_lock (&skr_mutex));
|
||||
if (do_shutdown)
|
||||
terminating = true;
|
||||
while (NULL != (skr = skr_head))
|
||||
{
|
||||
GNUNET_CONTAINER_DLL_remove (skr_head,
|
||||
@ -903,15 +905,6 @@ TEH_keys_init ()
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
TEH_keys_done ()
|
||||
{
|
||||
GNUNET_assert (0 == pthread_mutex_lock (&skr_mutex));
|
||||
terminating = true;
|
||||
GNUNET_assert (0 == pthread_mutex_unlock (&skr_mutex));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Fully clean up our state.
|
||||
*/
|
||||
@ -1699,7 +1692,7 @@ TEH_keys_update_states ()
|
||||
{
|
||||
__sync_fetch_and_add (&key_generation,
|
||||
1);
|
||||
TEH_resume_keys_requests ();
|
||||
TEH_resume_keys_requests (false);
|
||||
}
|
||||
|
||||
|
||||
|
@ -197,10 +197,10 @@ TEH_keys_denomination_revoke (const struct GNUNET_HashCode *h_denom_pub);
|
||||
* Resumse all suspended /keys requests, we may now have key material
|
||||
* (or are shuting down).
|
||||
*
|
||||
* @param[in] connection to suspend
|
||||
* @param do_shutdown are we shutting down?
|
||||
*/
|
||||
void
|
||||
TEH_resume_keys_requests (void);
|
||||
TEH_resume_keys_requests (bool do_shutdown);
|
||||
|
||||
|
||||
/**
|
||||
@ -329,11 +329,5 @@ TEH_keys_get_timing (const struct TALER_ExchangePublicKeyP *exchange_pub,
|
||||
int
|
||||
TEH_keys_init (void);
|
||||
|
||||
/**
|
||||
* Close down keys submodule.
|
||||
*/
|
||||
void
|
||||
TEH_keys_done (void);
|
||||
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user