fix KS state freeing on exit
This commit is contained in:
parent
d9474aab0f
commit
e3f7083b3e
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"url": "payto://x-taler-bank/localhost:8082/2",
|
"url": "payto://x-taler-bank/localhost:8082/2",
|
||||||
"salt": "KZCTEHKD39TDK9CR9DYHNA5C6RYK1QYCBE1Z0198PBXKK1XTJ3D06CE3Q2QD4ZCED5H16RB9V79QBP5VQ7QRCST36CC4H9P2WAYBMGR",
|
"salt": "S8SBYSZE4CAWMJRWGMS25XYVSVM6KXN4BJYZ34M975MPDDXZ01WAZEMB2139G8VVD8K6FVCR3GSZKNGEQ76XX27HQSM1PPX54SCFYER",
|
||||||
"master_sig": "55PBWD75WS0S9CKMGKXQPX9R22YM7CS3AARYXZ2GNZJ76EXB63DX9JY3NWWB4PHAZWRKS54VCHYT8HAYNSX294C0CC7XPQF1Y3Y1628"
|
"master_sig": "J0DHVTAPFB3MY6RRVBX0WGKK7K32XZ7HPKR5JBB6GSQ29AXXFTWM8A1P7STBGKT14YQMYAM4X4EM8GD4FKNDR1MVGK6ANMQYCP9WE0G"
|
||||||
}
|
}
|
@ -1046,6 +1046,7 @@ main (int argc,
|
|||||||
MHD_stop_daemon (mhd);
|
MHD_stop_daemon (mhd);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
TEH_KS_free ();
|
||||||
TALER_EXCHANGEDB_plugin_unload (TEH_plugin);
|
TALER_EXCHANGEDB_plugin_unload (TEH_plugin);
|
||||||
TEH_VALIDATION_done ();
|
TEH_VALIDATION_done ();
|
||||||
return (GNUNET_SYSERR == ret) ? 1 : 0;
|
return (GNUNET_SYSERR == ret) ? 1 : 0;
|
||||||
|
@ -1841,8 +1841,8 @@ TEH_KS_loop (void)
|
|||||||
|
|
||||||
if (0 != pipe (reload_pipe))
|
if (0 != pipe (reload_pipe))
|
||||||
{
|
{
|
||||||
fprintf (stderr,
|
GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR,
|
||||||
"Failed to create pipe.\n");
|
"pipe");
|
||||||
return GNUNET_SYSERR;
|
return GNUNET_SYSERR;
|
||||||
}
|
}
|
||||||
sigusr1 = GNUNET_SIGNAL_handler_install (SIGUSR1,
|
sigusr1 = GNUNET_SIGNAL_handler_install (SIGUSR1,
|
||||||
@ -1915,11 +1915,6 @@ read_again:
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (NULL != internal_key_state)
|
|
||||||
{
|
|
||||||
TEH_KS_release (internal_key_state);
|
|
||||||
internal_key_state = NULL;
|
|
||||||
}
|
|
||||||
GNUNET_SIGNAL_handler_uninstall (sigusr1);
|
GNUNET_SIGNAL_handler_uninstall (sigusr1);
|
||||||
GNUNET_SIGNAL_handler_uninstall (sigterm);
|
GNUNET_SIGNAL_handler_uninstall (sigterm);
|
||||||
GNUNET_SIGNAL_handler_uninstall (sigint);
|
GNUNET_SIGNAL_handler_uninstall (sigint);
|
||||||
@ -1929,6 +1924,20 @@ read_again:
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Finally release #internal_key_state.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
TEH_KS_free ()
|
||||||
|
{
|
||||||
|
if (NULL != internal_key_state)
|
||||||
|
{
|
||||||
|
TEH_KS_release (internal_key_state);
|
||||||
|
internal_key_state = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sign the message in @a purpose with the exchange's signing key.
|
* Sign the message in @a purpose with the exchange's signing key.
|
||||||
*
|
*
|
||||||
|
@ -77,6 +77,13 @@ TEH_KS_release_ (const char *location,
|
|||||||
#define TEH_KS_release(key_state) TEH_KS_release_ (__FUNCTION__, key_state)
|
#define TEH_KS_release(key_state) TEH_KS_release_ (__FUNCTION__, key_state)
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Finally, release #internal_key_state.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
TEH_KS_free (void);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Denomination key lookups can be for signing of fresh coins
|
* Denomination key lookups can be for signing of fresh coins
|
||||||
* or to validate signatures on existing coins. As the validity
|
* or to validate signatures on existing coins. As the validity
|
||||||
|
Loading…
Reference in New Issue
Block a user