]> 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>
Wed, 24 Oct 2018 07:06:57 +0000 (07:06 +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 1fc81d8991e2c4df8a21ac897b612e83295fc8cf..991db96682834561328e6261103e0fe4ce76eb64 100644 (file)
@@ -9319,8 +9319,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 2761affad6017b5d2e5accb1a6279acc3f81773b..e15bdacd2bcc5884e8095fb8262acb370b6c196f 100644 (file)
@@ -647,7 +647,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