dont segfault on exit (#1396)

* dont segfault on exit

* initialize m_isServiceNode earlier.
pull/1396/merge
Jeff 4 years ago committed by GitHub
parent ff23106852
commit b0088b3298
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -283,6 +283,8 @@ namespace llarp
_nodedb = nodedb; _nodedb = nodedb;
m_isServiceNode = conf.router.m_isRelay;
if (whitelistRouters) if (whitelistRouters)
{ {
m_lokidRpcClient->ConnectAsync(lokidRPCAddr); m_lokidRpcClient->ConnectAsync(lokidRPCAddr);
@ -455,8 +457,6 @@ namespace llarp
if (usingSNSeed) if (usingSNSeed)
ident_keyfile = conf.lokid.ident_keyfile; ident_keyfile = conf.lokid.ident_keyfile;
m_isServiceNode = conf.router.m_isRelay;
networkConfig = conf.network; networkConfig = conf.network;
/// build a set of strictConnectPubkeys ( /// build a set of strictConnectPubkeys (
@ -1120,6 +1120,7 @@ namespace llarp
Router::AfterStopLinks() Router::AfterStopLinks()
{ {
Close(); Close();
m_lmq.reset();
} }
void void
@ -1128,7 +1129,6 @@ namespace llarp
StopLinks(); StopLinks();
nodedb()->AsyncFlushToDisk(); nodedb()->AsyncFlushToDisk();
_logic->call_later(200ms, std::bind(&Router::AfterStopLinks, this)); _logic->call_later(200ms, std::bind(&Router::AfterStopLinks, this));
m_lmq.reset();
} }
void void
@ -1240,6 +1240,18 @@ namespace llarp
return true; return true;
} }
void
Router::QueueWork(std::function<void(void)> func)
{
m_lmq->job(std::move(func));
}
void
Router::QueueDiskIO(std::function<void(void)> func)
{
m_lmq->job(std::move(func), m_DiskThread);
}
bool bool
Router::HasClientExit() const Router::HasClientExit() const
{ {

@ -170,16 +170,10 @@ namespace llarp
} }
void void
QueueWork(std::function<void(void)> func) override QueueWork(std::function<void(void)> func) override;
{
m_lmq->job(std::move(func));
}
void void
QueueDiskIO(std::function<void(void)> func) override QueueDiskIO(std::function<void(void)> func) override;
{
m_lmq->job(std::move(func), m_DiskThread);
}
IpAddress _ourAddress; IpAddress _ourAddress;

Loading…
Cancel
Save