]> git.ipfire.org Git - thirdparty/bind9.git/commit
Add asynchronous work API to the network manager
authorOndřej Surý <ondrej@isc.org>
Thu, 27 May 2021 07:45:07 +0000 (09:45 +0200)
committerOndřej Surý <ondrej@sury.org>
Mon, 31 May 2021 12:52:05 +0000 (14:52 +0200)
commit87fe97ed91df2db33b311ef26c680f8fa7a0aff4
treed05913f2d30de9533e0f51fb03b2a1251472e7e1
parent211bfefbaa7c709ef8dc368720dd363316982e41
Add asynchronous work API to the network manager

The libuv has a support for running long running tasks in the dedicated
threadpools, so it doesn't affect networking IO.

This commit adds isc_nm_work_enqueue() wrapper that would wraps around
the libuv API and runs it on top of associated worker loop.

The only limitation is that the function must be called from inside
network manager thread, so the call to the function should be wrapped
inside a (bound) task.
lib/isc/include/isc/netmgr.h
lib/isc/netmgr/netmgr-int.h
lib/isc/netmgr/netmgr.c
lib/isc/win32/libisc.def.in