summaryrefslogtreecommitdiffstats
path: root/usr.sbin/bind/lib/isc/task.c
diff options
context:
space:
mode:
authorderaadt <deraadt@openbsd.org>2020-01-21 10:11:09 +0000
committerderaadt <deraadt@openbsd.org>2020-01-21 10:11:09 +0000
commit6d802d26e17a128c64af7f9a9eb887d8d05127b9 (patch)
tree6915359576ac9397d18042527ffcb4d4101414b8 /usr.sbin/bind/lib/isc/task.c
parentGet rid of isccfg/log.c by pulling in the tiny bits needed into (diff)
downloadwireguard-openbsd-6d802d26e17a128c64af7f9a9eb887d8d05127b9.tar.xz
wireguard-openbsd-6d802d26e17a128c64af7f9a9eb887d8d05127b9.zip
libisc has a global variable called "isc_bind9" that indicates the program-family
(bind, dig, nslookup, host..) the library is being used by, this flag is cleared using a constructor-like mechanism in a .c file which is not compiled nor called. if the flag is cleared, the library acts differently in 40+ functions. Imagine if our libc had such a global variable?? delete all of that. ok florian
Diffstat (limited to 'usr.sbin/bind/lib/isc/task.c')
-rw-r--r--usr.sbin/bind/lib/isc/task.c115
1 files changed, 19 insertions, 96 deletions
diff --git a/usr.sbin/bind/lib/isc/task.c b/usr.sbin/bind/lib/isc/task.c
index 3dfe266b81c..fc4b64bd9b5 100644
--- a/usr.sbin/bind/lib/isc/task.c
+++ b/usr.sbin/bind/lib/isc/task.c
@@ -1511,30 +1511,14 @@ isc_result_t
isc_taskmgr_create(unsigned int workers,
unsigned int default_quantum, isc_taskmgr_t **managerp)
{
- isc_result_t result;
-
- if (isc_bind9)
- return (isc__taskmgr_create(workers,
- default_quantum, managerp));
- LOCK(&createlock);
-
- REQUIRE(taskmgr_createfunc != NULL);
- result = (*taskmgr_createfunc)(workers, default_quantum,
- managerp);
-
- UNLOCK(&createlock);
-
- return (result);
+ return (isc__taskmgr_create(workers, default_quantum, managerp));
}
void
isc_taskmgr_destroy(isc_taskmgr_t **managerp) {
REQUIRE(managerp != NULL && ISCAPI_TASKMGR_VALID(*managerp));
- if (isc_bind9)
- isc__taskmgr_destroy(managerp);
- else
- (*managerp)->methods->destroy(managerp);
+ isc__taskmgr_destroy(managerp);
ENSURE(*managerp == NULL);
}
@@ -1543,20 +1527,14 @@ void
isc_taskmgr_setmode(isc_taskmgr_t *manager, isc_taskmgrmode_t mode) {
REQUIRE(ISCAPI_TASKMGR_VALID(manager));
- if (isc_bind9)
- isc__taskmgr_setmode(manager, mode);
- else
- manager->methods->setmode(manager, mode);
+ isc__taskmgr_setmode(manager, mode);
}
isc_taskmgrmode_t
isc_taskmgr_mode(isc_taskmgr_t *manager) {
REQUIRE(ISCAPI_TASKMGR_VALID(manager));
- if (isc_bind9)
- return (isc__taskmgr_mode(manager));
-
- return (manager->methods->mode(manager));
+ return (isc__taskmgr_mode(manager));
}
isc_result_t
@@ -1566,10 +1544,7 @@ isc_task_create(isc_taskmgr_t *manager, unsigned int quantum,
REQUIRE(ISCAPI_TASKMGR_VALID(manager));
REQUIRE(taskp != NULL && *taskp == NULL);
- if (isc_bind9)
- return (isc__task_create(manager, quantum, taskp));
-
- return (manager->methods->taskcreate(manager, quantum, taskp));
+ return (isc__task_create(manager, quantum, taskp));
}
void
@@ -1577,10 +1552,7 @@ isc_task_attach(isc_task_t *source, isc_task_t **targetp) {
REQUIRE(ISCAPI_TASK_VALID(source));
REQUIRE(targetp != NULL && *targetp == NULL);
- if (isc_bind9)
- isc__task_attach(source, targetp);
- else
- source->methods->attach(source, targetp);
+ isc__task_attach(source, targetp);
ENSURE(*targetp == source);
}
@@ -1589,10 +1561,7 @@ void
isc_task_detach(isc_task_t **taskp) {
REQUIRE(taskp != NULL && ISCAPI_TASK_VALID(*taskp));
- if (isc_bind9)
- isc__task_detach(taskp);
- else
- (*taskp)->methods->detach(taskp);
+ isc__task_detach(taskp);
ENSURE(*taskp == NULL);
}
@@ -1602,12 +1571,7 @@ isc_task_send(isc_task_t *task, isc_event_t **eventp) {
REQUIRE(ISCAPI_TASK_VALID(task));
REQUIRE(eventp != NULL && *eventp != NULL);
- if (isc_bind9)
- isc__task_send(task, eventp);
- else {
- task->methods->send(task, eventp);
- ENSURE(*eventp == NULL);
- }
+ isc__task_send(task, eventp);
}
void
@@ -1615,12 +1579,7 @@ isc_task_sendanddetach(isc_task_t **taskp, isc_event_t **eventp) {
REQUIRE(taskp != NULL && ISCAPI_TASK_VALID(*taskp));
REQUIRE(eventp != NULL && *eventp != NULL);
- if (isc_bind9)
- isc__task_sendanddetach(taskp, eventp);
- else {
- (*taskp)->methods->sendanddetach(taskp, eventp);
- ENSURE(*eventp == NULL);
- }
+ isc__task_sendanddetach(taskp, eventp);
ENSURE(*taskp == NULL);
}
@@ -1631,10 +1590,7 @@ isc_task_unsend(isc_task_t *task, void *sender, isc_eventtype_t type,
{
REQUIRE(ISCAPI_TASK_VALID(task));
- if (isc_bind9)
- return (isc__task_unsend(task, sender, type, tag, events));
-
- return (task->methods->unsend(task, sender, type, tag, events));
+ return (isc__task_unsend(task, sender, type, tag, events));
}
isc_result_t
@@ -1642,27 +1598,18 @@ isc_task_onshutdown(isc_task_t *task, isc_taskaction_t action, void *arg)
{
REQUIRE(ISCAPI_TASK_VALID(task));
- if (isc_bind9)
- return (isc__task_onshutdown(task, action, arg));
-
- return (task->methods->onshutdown(task, action, arg));
+ return (isc__task_onshutdown(task, action, arg));
}
void
isc_task_shutdown(isc_task_t *task) {
REQUIRE(ISCAPI_TASK_VALID(task));
- if (isc_bind9)
- isc__task_shutdown(task);
- else
- task->methods->shutdown(task);
+ isc__task_shutdown(task);
}
void
isc_task_destroy(isc_task_t **taskp) {
- if (!isc_bind9)
- return;
-
isc__task_destroy(taskp);
}
@@ -1670,10 +1617,7 @@ void
isc_task_setname(isc_task_t *task, const char *name, void *tag) {
REQUIRE(ISCAPI_TASK_VALID(task));
- if (isc_bind9)
- isc__task_setname(task, name, tag);
- else
- task->methods->setname(task, name, tag);
+ isc__task_setname(task, name, tag);
}
unsigned int
@@ -1681,57 +1625,39 @@ isc_task_purge(isc_task_t *task, void *sender, isc_eventtype_t type, void *tag)
{
REQUIRE(ISCAPI_TASK_VALID(task));
- if (isc_bind9)
- return (isc__task_purge(task, sender, type, tag));
-
- return (task->methods->purgeevents(task, sender, type, tag));
+ return (isc__task_purge(task, sender, type, tag));
}
isc_result_t
isc_task_beginexclusive(isc_task_t *task) {
REQUIRE(ISCAPI_TASK_VALID(task));
- if (isc_bind9)
- return (isc__task_beginexclusive(task));
-
- return (task->methods->beginexclusive(task));
+ return (isc__task_beginexclusive(task));
}
void
isc_task_endexclusive(isc_task_t *task) {
REQUIRE(ISCAPI_TASK_VALID(task));
- if (isc_bind9)
- isc__task_endexclusive(task);
- else
- task->methods->endexclusive(task);
+ isc__task_endexclusive(task);
}
void
isc_task_setprivilege(isc_task_t *task, isc_boolean_t priv) {
REQUIRE(ISCAPI_TASK_VALID(task));
- if (isc_bind9)
- isc__task_setprivilege(task, priv);
- else
- task->methods->setprivilege(task, priv);
+ isc__task_setprivilege(task, priv);
}
isc_boolean_t
isc_task_privilege(isc_task_t *task) {
REQUIRE(ISCAPI_TASK_VALID(task));
- if (isc_bind9)
- return (isc__task_privilege(task));
-
- return (task->methods->privilege(task));
+ return (isc__task_privilege(task));
}
void
isc_task_getcurrenttime(isc_task_t *task, isc_stdtime_t *t) {
- if (!isc_bind9)
- return;
-
isc__task_getcurrenttime(task, t);
}
@@ -1745,8 +1671,5 @@ isc_task_purgerange(isc_task_t *task, void *sender, isc_eventtype_t first,
{
REQUIRE(ISCAPI_TASK_VALID(task));
- if (isc_bind9)
- return (isc__task_purgerange(task, sender, first, last, tag));
-
- return (task->methods->purgerange(task, sender, first, last, tag));
+ return (isc__task_purgerange(task, sender, first, last, tag));
}