mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-08 21:52:06 -04:00
Merge branch '3259-cid-351372-concurrent-data-access-violations-atomicity' into 'main'
Resolve "CID 351372: Concurrent data access violations (ATOMICITY)" Closes #3259 See merge request isc-projects/bind9!6090
This commit is contained in:
commit
4216c72d13
1 changed files with 2 additions and 9 deletions
|
|
@ -215,17 +215,10 @@ timer_purge(isc_timer_t *timer) {
|
|||
isc_timerevent_t *event = NULL;
|
||||
|
||||
while ((event = ISC_LIST_HEAD(timer->active)) != NULL) {
|
||||
timerevent_unlink(timer, event);
|
||||
UNLOCK(&timer->lock);
|
||||
bool purged = isc_task_purgeevent(timer->task,
|
||||
(isc_event_t *)event);
|
||||
(void)isc_task_purgeevent(timer->task, (isc_event_t *)event);
|
||||
LOCK(&timer->lock);
|
||||
if (!purged) {
|
||||
/*
|
||||
* The event has already been executed, but not
|
||||
* yet destroyed.
|
||||
*/
|
||||
timerevent_unlink(timer, event);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue