Main: use AtScopeExit() to call NeighborGlue::Close()

This commit is contained in:
Max Kellermann 2019-04-25 13:03:51 +02:00
parent a6dc1ab0a9
commit 692c8025a2

View File

@ -548,6 +548,11 @@ mpd_main_after_fork(const ConfigData &raw_config, const Config &config)
#ifdef ENABLE_NEIGHBOR_PLUGINS
if (instance->neighbors != nullptr)
instance->neighbors->Open();
AtScopeExit() {
if (instance->neighbors != nullptr)
instance->neighbors->Close();
};
#endif
ZeroconfInit(raw_config, instance->event_loop);
@ -621,10 +626,7 @@ mpd_main_after_fork(const ConfigData &raw_config, const Config &config)
delete instance->client_list;
#ifdef ENABLE_NEIGHBOR_PLUGINS
if (instance->neighbors != nullptr) {
instance->neighbors->Close();
delete instance->neighbors;
}
delete instance->neighbors;
#endif
return EXIT_SUCCESS;