]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Get rid of isc_taskmgr_setmode, we only use it to set privileged mode
authorWitold Kręcicki <wpk@isc.org>
Mon, 22 Oct 2018 11:18:45 +0000 (11:18 +0000)
committerWitold Kręcicki <wpk@isc.org>
Tue, 6 Nov 2018 08:19:50 +0000 (08:19 +0000)
bin/named/server.c
lib/isc/include/isc/task.h
lib/isc/task.c
lib/isc/tests/task_test.c
lib/isc/win32/libisc.def.in

index e9773fba554ee760161609a019519805234e1e2f..4f14900f7fbe162324d4d6d2566a72214e485961 100644 (file)
@@ -9327,8 +9327,7 @@ load_zones(named_server_t *server, bool init, bool reconfig) {
                 * the initial server setup; it isn't necessary during
                 * a reload.)
                 */
-               isc_taskmgr_setmode(named_g_taskmgr,
-                                   isc_taskmgrmode_privileged);
+               isc_taskmgr_setprivilegedmode(named_g_taskmgr);
        }
 
        isc_task_endexclusive(server->task);
index 7746f1c12dd7d2a8a89c2d3e537b3db4e3bc3b3b..d3146f51a78ed97f9aba0367ac6e12c450d9cba1 100644 (file)
@@ -672,7 +672,7 @@ isc_taskmgr_create(isc_mem_t *mctx, unsigned int workers,
  */
 
 void
-isc_taskmgr_setmode(isc_taskmgr_t *manager, isc_taskmgrmode_t mode);
+isc_taskmgr_setprivilegedmode(isc_taskmgr_t *manager);
 
 isc_taskmgrmode_t
 isc_taskmgr_mode(isc_taskmgr_t *manager);
index f6a4dc003ff22225684357e52c6efa34ade40b08..2dd05a4e96808a7038cb1e0386b75256c4ed54d6 100644 (file)
@@ -1450,11 +1450,11 @@ isc_taskmgr_destroy(isc_taskmgr_t **managerp) {
 }
 
 void
-isc_taskmgr_setmode(isc_taskmgr_t *manager0, isc_taskmgrmode_t mode) {
+isc_taskmgr_setprivilegedmode(isc_taskmgr_t *manager0) {
        isc__taskmgr_t *manager = (isc__taskmgr_t *)manager0;
 
        LOCK(&manager->lock);
-       manager->mode = mode;
+       manager->mode = isc_taskmgrmode_privileged;
        UNLOCK(&manager->lock);
 }
 
index 2cb299d4de7464ede52835c0e3357bbcc0182df8..fb1ce8499ba8b0908772cbf67d47c0945c513351 100644 (file)
@@ -67,7 +67,6 @@ set_and_drop(isc_task_t *task, isc_event_t *event) {
        *value = (int) isc_taskmgr_mode(taskmgr);
        counter++;
        UNLOCK(&lock);
-       isc_taskmgr_setmode(taskmgr, isc_taskmgrmode_normal);
 }
 
 /*
@@ -230,7 +229,7 @@ ATF_TC_BODY(privileged_events, tc) {
        isc_task_send(task2, &event);
 
        ATF_CHECK_EQ(isc_taskmgr_mode(taskmgr), isc_taskmgrmode_normal);
-       isc_taskmgr_setmode(taskmgr, isc_taskmgrmode_privileged);
+       isc_taskmgr_setprivilegedmode(taskmgr);
        ATF_CHECK_EQ(isc_taskmgr_mode(taskmgr), isc_taskmgrmode_privileged);
 
        isc__taskmgr_resume(taskmgr);
@@ -351,7 +350,7 @@ ATF_TC_BODY(privilege_drop, tc) {
        isc_task_send(task2, &event);
 
        ATF_CHECK_EQ(isc_taskmgr_mode(taskmgr), isc_taskmgrmode_normal);
-       isc_taskmgr_setmode(taskmgr, isc_taskmgrmode_privileged);
+       isc_taskmgr_setprivilegedmode(taskmgr);
        ATF_CHECK_EQ(isc_taskmgr_mode(taskmgr), isc_taskmgrmode_privileged);
 
        isc__taskmgr_resume(taskmgr);
@@ -363,14 +362,12 @@ ATF_TC_BODY(privilege_drop, tc) {
        }
 
        /*
-        * We can't guarantee what order the events fire, but
-        * we do know *exactly one* of the privileged tasks will
-        * have run in privileged mode...
+        * We need to check that all privilege mode events were fired
+        * in privileged mode, and non privileged in non-privileged.
         */
-       ATF_CHECK(a == isc_taskmgrmode_privileged ||
-                 c == isc_taskmgrmode_privileged ||
+       ATF_CHECK(a == isc_taskmgrmode_privileged &&
+                 c == isc_taskmgrmode_privileged &&
                  d == isc_taskmgrmode_privileged);
-       ATF_CHECK(a + c + d == isc_taskmgrmode_privileged);
 
        /* ...and neither of the non-privileged tasks did... */
        ATF_CHECK(b == isc_taskmgrmode_normal || e == isc_taskmgrmode_normal);
index 2133f5248f629019ac71c17971de071887511674..e323f54d04e30b3af3f7b6aab9f5197980114eae 100644 (file)
@@ -598,7 +598,7 @@ isc_taskmgr_renderjson
 isc_taskmgr_renderxml
 @END LIBXML2
 isc_taskmgr_setexcltask
-isc_taskmgr_setmode
+isc_taskmgr_setprivilegedmode
 isc_taskpool_create
 isc_taskpool_destroy
 isc_taskpool_expand