fix: dev: Call isc__iterated_hash_initialize in isc__work_cb
isc_iterated_hash didn't work in offloaded threads as the per thread initialisation has not been done. This has been fixed. Closes #5214 Merge branch '5214-call-isc__iterated_hash_initialize-in-isc__work_cb' into 'main' See merge request isc-projects/bind9!10206
This commit is contained in:
@@ -13,6 +13,7 @@
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#include <isc/iterated_hash.h>
|
||||
#include <isc/job.h>
|
||||
#include <isc/loop.h>
|
||||
#include <isc/urcu.h>
|
||||
@@ -25,11 +26,15 @@ static void
|
||||
isc__work_cb(uv_work_t *req) {
|
||||
isc_work_t *work = uv_req_get_data((uv_req_t *)req);
|
||||
|
||||
isc__iterated_hash_initialize();
|
||||
|
||||
rcu_register_thread();
|
||||
|
||||
work->work_cb(work->cbarg);
|
||||
|
||||
rcu_unregister_thread();
|
||||
|
||||
isc__iterated_hash_shutdown();
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
Reference in New Issue
Block a user