2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-31 14:35:26 +00:00

Make lib/isc/app.c opaque and thread-safe

This work cleans up the API which includes couple of things:

1. Make the isc_appctx_t type fully opaque

2. Protect all access to the isc_app_t members via stdatomics

3. sigwait() is part of POSIX.1, remove dead non-sigwait code

4. Remove unused code: isc_appctx_set{taskmgr,sockmgr,timermgr}
This commit is contained in:
Ondřej Surý
2019-05-13 20:58:20 +07:00
parent 4d30aee3e2
commit eb8c9bdd55
20 changed files with 213 additions and 509 deletions

View File

@@ -420,13 +420,13 @@ dns_client_create(dns_client_t **clientp, unsigned int options) {
result = isc_app_ctxstart(actx);
if (result != ISC_R_SUCCESS)
goto cleanup;
result = isc_taskmgr_createinctx(mctx, actx, 1, 0, &taskmgr);
result = isc_taskmgr_createinctx(mctx, 1, 0, &taskmgr);
if (result != ISC_R_SUCCESS)
goto cleanup;
result = isc_socketmgr_createinctx(mctx, actx, &socketmgr);
result = isc_socketmgr_createinctx(mctx, &socketmgr);
if (result != ISC_R_SUCCESS)
goto cleanup;
result = isc_timermgr_createinctx(mctx, actx, &timermgr);
result = isc_timermgr_createinctx(mctx, &timermgr);
if (result != ISC_R_SUCCESS)
goto cleanup;
#if 0