diff --git a/src/shrpx.cc b/src/shrpx.cc index 666c882a..17c01f80 100644 --- a/src/shrpx.cc +++ b/src/shrpx.cc @@ -2617,6 +2617,8 @@ int main(int argc, char **argv) { LOG(NOTICE) << "Shutdown momentarily"; + delete log_config(); + return 0; } diff --git a/src/shrpx_worker.cc b/src/shrpx_worker.cc index 3f9937c1..2241f979 100644 --- a/src/shrpx_worker.cc +++ b/src/shrpx_worker.cc @@ -101,6 +101,7 @@ Worker::Worker(struct ev_loop *loop, SSL_CTX *sv_ssl_ctx, SSL_CTX *cl_ssl_ctx, Worker::~Worker() { ev_async_stop(loop_, &w_); ev_timer_stop(loop_, &mcpool_clear_timer_); + ev_loop_destroy(loop_); } void Worker::schedule_clear_mcpool() { @@ -121,6 +122,7 @@ void Worker::run_async() { fut_ = std::async(std::launch::async, [this] { (void)reopen_log_files(); ev_run(loop_); + delete log_config(); }); #endif // !NOTHREADS }