Aram Sargsyan
db45cab546
Fix a lock-order-inversion bug in resolver.c
...
There is a lock-order-inversion (potential deadlock) in resolver.c,
because in dns_resolver_shutdown() a resolver bucket lock is locked
while the resolver lock itself is already locked, while in
fctx_sendevents() the resolver lock is locked while a bucket lock
is locked before calling that function in fctx__done_detach().
The resolver lock/unlock in dns_resolver_shutdown() was added back in
the 317e36d47e commit to make sure that
the function is finished before the resolver object is destroyed.
Since res->exiting is atomic, it should be possible to remove the
resolver locking in dns_resolver_shutdown() and add it to the
send_shutdown_events() function which requires it.
Also, since 'res->exiting' is now set while unlocked, the 'INSIST'
in spillattimer_countdown() is wrong, and is removed.
2023-06-06 11:02:24 +00:00
..
2023-05-31 11:07:08 +00:00
2022-11-29 09:14:07 +01:00
2022-04-26 14:21:57 +02:00
2023-01-30 12:38:13 +01:00
2022-11-29 09:14:07 +01:00
2022-11-29 09:14:07 +01:00
2022-12-07 23:59:36 +00:00
2023-04-04 11:47:43 +00:00
2022-12-07 23:59:36 +00:00
2023-02-08 00:13:12 -08:00
2022-11-29 09:14:07 +01:00
2022-12-07 23:59:36 +00:00
2022-11-29 09:14:07 +01:00
2023-05-26 02:07:02 -07:00
2022-03-25 08:42:18 +01:00
2022-04-26 14:21:57 +02:00
2023-02-01 11:26:31 +01:00
2023-03-14 16:26:56 +11:00
2022-08-31 15:24:00 -07:00
2022-03-25 08:42:16 +01:00
2023-04-05 09:11:24 +02:00
2023-03-31 16:47:15 +02:00
2023-03-31 16:47:15 +02:00
2023-02-09 10:07:39 -08:00
2022-11-29 09:14:07 +01:00
2023-01-11 13:42:09 +00:00
2022-11-29 09:14:07 +01:00
2022-03-18 16:05:56 +00:00
2022-03-25 08:42:18 +01:00
2023-02-18 10:26:55 +11:00
2023-01-09 14:23:26 -08:00
2022-12-07 23:59:36 +00:00
2022-06-28 14:36:38 +02:00
2022-11-29 09:14:07 +01:00
2023-04-17 12:14:06 +02:00
2023-04-03 17:46:13 +02:00
2022-03-25 08:42:18 +01:00
2022-07-13 10:46:37 +10:00
2023-03-29 13:31:49 +00:00
2022-12-07 23:59:36 +00:00
2022-11-29 09:14:07 +01:00
2022-11-29 09:14:07 +01:00
2022-11-29 09:14:07 +01:00
2023-04-25 06:46:08 +01:00
2022-12-07 23:59:36 +00:00
2023-01-18 22:39:26 +01:00
2022-11-29 09:14:07 +01:00
2022-11-29 09:14:07 +01:00
2022-11-29 09:14:07 +01:00
2022-11-29 09:14:07 +01:00
2022-11-29 09:14:07 +01:00
2022-11-29 09:14:07 +01:00
2023-01-09 14:23:26 -08:00
2022-11-29 09:14:07 +01:00
2022-11-29 09:14:07 +01:00
2023-01-20 00:46:24 +11:00
2022-11-29 09:14:07 +01:00
2022-11-29 09:14:07 +01:00
2022-11-29 09:14:07 +01:00
2023-02-09 08:58:15 +11:00
2022-11-29 09:14:07 +01:00
2023-04-03 16:18:39 +00:00
2023-06-06 11:02:24 +00:00
2022-12-07 23:59:36 +00:00
2023-02-14 11:21:40 +00:00
2022-12-07 23:59:36 +00:00
2022-11-29 09:14:07 +01:00
2022-12-07 23:59:36 +00:00
2022-12-07 23:59:36 +00:00
2022-03-25 08:42:18 +01:00
2022-11-29 09:14:07 +01:00
2022-11-29 09:14:07 +01:00
2022-05-31 12:06:00 +02:00
2022-11-29 09:14:07 +01:00
2022-05-03 17:42:43 +03:00
2022-03-25 08:42:16 +01:00
2023-05-25 15:08:48 -07:00
2022-12-07 23:59:36 +00:00
2023-04-03 17:46:13 +02:00
2023-04-03 17:46:13 +02:00
2023-04-21 17:21:32 +02:00
2023-05-26 15:24:51 +03:00
2022-11-29 09:14:07 +01:00
2022-12-07 23:59:36 +00:00
2022-11-29 09:14:07 +01:00