*value = (int) isc_taskmgr_mode(taskmgr);
counter++;
UNLOCK(&lock);
- isc_taskmgr_setmode(taskmgr, isc_taskmgrmode_normal);
}
/*
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);
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);
}
/*
- * 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);