mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-12 15:50:00 -04:00
rndc: prevent crashing after receiving a signal
If isc_app_run() gets interrupted by a signal, the global 'rndc_task' variable may already be detached from (set to NULL) by the time the outstanding netmgr callbacks are run. This triggers an assertion failure in isc_task_shutdown(). However, explicitly calling isc_task_shutdown() from rndc code is redundant because it does not use isc_task_onshutdown() and the task_shutdown() function gets automatically called anyway when the task manager gets destroyed (after isc_app_run() returns). Remove the redundant isc_task_shutdown() calls to prevent crashes after receiving a signal.
This commit is contained in:
parent
289c1d33ee
commit
d1d721aae1
1 changed files with 0 additions and 2 deletions
|
|
@ -307,7 +307,6 @@ rndc_senddone(isc_nmhandle_t *handle, isc_result_t result, void *arg) {
|
|||
atomic_load_acquire(&recvs) == 0)
|
||||
{
|
||||
shuttingdown = true;
|
||||
isc_task_shutdown(rndc_task);
|
||||
isc_app_shutdown();
|
||||
}
|
||||
}
|
||||
|
|
@ -393,7 +392,6 @@ rndc_recvdone(isc_nmhandle_t *handle, isc_result_t result, void *arg) {
|
|||
atomic_fetch_sub_release(&recvs, 1) == 1)
|
||||
{
|
||||
shuttingdown = true;
|
||||
isc_task_shutdown(rndc_task);
|
||||
isc_app_shutdown();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue