Fix isc_nmsocket_set_tlsctx()

During loop manager refactoring isc_nmsocket_set_tlsctx() was not
properly adapted. The function is expected to broadcast the new TLS
context for every worker, but this behaviour was accidentally broken.
This commit is contained in:
Artem Boldariev
2022-10-14 21:44:47 +03:00
parent 1632f964e7
commit 60967cce89
+6 -6
View File
@@ -2716,14 +2716,14 @@ isc__nm_async_settlsctx(isc__networker_t *worker, isc__netievent_t *ev0) {
static void
set_tlsctx_workers(isc_nmsocket_t *listener, isc_tlsctx_t *tlsctx) {
uint32_t nloops = isc_loopmgr_nloops(listener->worker->netmgr->loopmgr);
/* Update the TLS context reference for every worker thread. */
for (size_t i = 0; i < nloops; i++) {
for (size_t i = 0; i < listener->nchildren; i++) {
isc__networker_t *worker =
&listener->worker->netmgr->workers[i];
isc__netievent__tlsctx_t *ievent =
isc__nm_get_netievent_settlsctx(listener->worker,
listener, tlsctx);
isc__nm_enqueue_ievent(listener->worker,
(isc__netievent_t *)ievent);
isc__nm_get_netievent_settlsctx(worker, listener,
tlsctx);
isc__nm_enqueue_ievent(worker, (isc__netievent_t *)ievent);
}
}