From cdbac34cbaa7316d2346bcb79f10aeea48bdb583 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Witold=20Kr=C4=99cicki?= Date: Mon, 6 Aug 2018 12:15:50 +0200 Subject: [PATCH] Get rid of isc_bind9 conditional --- lib/isc/app_api.c | 108 ++++------------- lib/isc/include/isc/app.h | 24 ---- lib/isc/include/isc/mem.h | 40 ------- lib/isc/include/isc/socket.h | 56 --------- lib/isc/lib.c | 16 +-- lib/isc/mem.c | 219 +++++------------------------------ lib/isc/socket_api.c | 107 ++++------------- lib/isc/task.c | 119 ++++--------------- lib/isc/timer.c | 80 ++----------- lib/isc/unix/app.c | 31 ----- lib/isc/unix/socket.c | 44 ------- 11 files changed, 102 insertions(+), 742 deletions(-) diff --git a/lib/isc/app_api.c b/lib/isc/app_api.c index 425eb5ab92..e4276f44c6 100644 --- a/lib/isc/app_api.c +++ b/lib/isc/app_api.c @@ -51,30 +51,14 @@ isc_app_register(isc_appctxcreatefunc_t createfunc) { isc_result_t isc_appctx_create(isc_mem_t *mctx, isc_appctx_t **ctxp) { - isc_result_t result; - - if (isc_bind9) - return (isc__appctx_create(mctx, ctxp)); - - LOCK(&createlock); - - REQUIRE(appctx_createfunc != NULL); - result = (*appctx_createfunc)(mctx, ctxp); - - UNLOCK(&createlock); - - return (result); + return (isc__appctx_create(mctx, ctxp)); } void isc_appctx_destroy(isc_appctx_t **ctxp) { REQUIRE(ctxp != NULL && ISCAPI_APPCTX_VALID(*ctxp)); - if (isc_bind9) - isc__appctx_destroy(ctxp); - else - (*ctxp)->methods->ctxdestroy(ctxp); - + isc__appctx_destroy(ctxp); ENSURE(*ctxp == NULL); } @@ -82,20 +66,14 @@ isc_result_t isc_app_ctxstart(isc_appctx_t *ctx) { REQUIRE(ISCAPI_APPCTX_VALID(ctx)); - if (isc_bind9) - return (isc__app_ctxstart(ctx)); - - return (ctx->methods->ctxstart(ctx)); + return (isc__app_ctxstart(ctx)); } isc_result_t isc_app_ctxrun(isc_appctx_t *ctx) { REQUIRE(ISCAPI_APPCTX_VALID(ctx)); - if (isc_bind9) - return (isc__app_ctxrun(ctx)); - - return (ctx->methods->ctxrun(ctx)); + return (isc__app_ctxrun(ctx)); } isc_result_t @@ -105,40 +83,28 @@ isc_app_ctxonrun(isc_appctx_t *ctx, isc_mem_t *mctx, { REQUIRE(ISCAPI_APPCTX_VALID(ctx)); - if (isc_bind9) - return (isc__app_ctxonrun(ctx, mctx, task, action, arg)); - - return (ctx->methods->ctxonrun(ctx, mctx, task, action, arg)); + return (isc__app_ctxonrun(ctx, mctx, task, action, arg)); } isc_result_t isc_app_ctxsuspend(isc_appctx_t *ctx) { REQUIRE(ISCAPI_APPCTX_VALID(ctx)); - if (isc_bind9) - return (isc__app_ctxsuspend(ctx)); - - return (ctx->methods->ctxsuspend(ctx)); + return (isc__app_ctxsuspend(ctx)); } isc_result_t isc_app_ctxshutdown(isc_appctx_t *ctx) { REQUIRE(ISCAPI_APPCTX_VALID(ctx)); - if (isc_bind9) - return (isc__app_ctxshutdown(ctx)); - - return (ctx->methods->ctxshutdown(ctx)); + return (isc__app_ctxshutdown(ctx)); } void isc_app_ctxfinish(isc_appctx_t *ctx) { REQUIRE(ISCAPI_APPCTX_VALID(ctx)); - if (isc_bind9) - isc__app_ctxfinish(ctx); - - ctx->methods->ctxfinish(ctx); + isc__app_ctxfinish(ctx); } void @@ -146,10 +112,7 @@ isc_appctx_settaskmgr(isc_appctx_t *ctx, isc_taskmgr_t *taskmgr) { REQUIRE(ISCAPI_APPCTX_VALID(ctx)); REQUIRE(taskmgr != NULL); - if (isc_bind9) - isc__appctx_settaskmgr(ctx, taskmgr); - - ctx->methods->settaskmgr(ctx, taskmgr); + isc__appctx_settaskmgr(ctx, taskmgr); } void @@ -157,10 +120,7 @@ isc_appctx_setsocketmgr(isc_appctx_t *ctx, isc_socketmgr_t *socketmgr) { REQUIRE(ISCAPI_APPCTX_VALID(ctx)); REQUIRE(socketmgr != NULL); - if (isc_bind9) - isc__appctx_setsocketmgr(ctx, socketmgr); - - ctx->methods->setsocketmgr(ctx, socketmgr); + isc__appctx_setsocketmgr(ctx, socketmgr); } void @@ -168,43 +128,30 @@ isc_appctx_settimermgr(isc_appctx_t *ctx, isc_timermgr_t *timermgr) { REQUIRE(ISCAPI_APPCTX_VALID(ctx)); REQUIRE(timermgr != NULL); - if (isc_bind9) - isc__appctx_settimermgr(ctx, timermgr); - - ctx->methods->settimermgr(ctx, timermgr); + isc__appctx_settimermgr(ctx, timermgr); } isc_result_t isc_app_start(void) { - if (isc_bind9) - return (isc__app_start()); - - return (ISC_R_NOTIMPLEMENTED); + return (isc__app_start()); } isc_result_t isc_app_onrun(isc_mem_t *mctx, isc_task_t *task, isc_taskaction_t action, void *arg) { - if (isc_bind9) - return (isc__app_onrun(mctx, task, action, arg)); - - return (ISC_R_NOTIMPLEMENTED); + return (isc__app_onrun(mctx, task, action, arg)); } isc_result_t isc_app_run() { - if (isc_bind9) { - isc_result_t result; + isc_result_t result; - is_running = true; - result = isc__app_run(); - is_running = false; + is_running = ISC_TRUE; + result = isc__app_run(); + is_running = ISC_FALSE; - return (result); - } - - return (ISC_R_NOTIMPLEMENTED); + return (result); } bool @@ -214,40 +161,25 @@ isc_app_isrunning() { isc_result_t isc_app_shutdown(void) { - if (isc_bind9) - return (isc__app_shutdown()); - - return (ISC_R_NOTIMPLEMENTED); + return (isc__app_shutdown()); } isc_result_t isc_app_reload(void) { - if (isc_bind9) - return (isc__app_reload()); - - return (ISC_R_NOTIMPLEMENTED); + return (isc__app_reload()); } void isc_app_finish(void) { - if (!isc_bind9) - return; - isc__app_finish(); } void isc_app_block(void) { - if (!isc_bind9) - return; - isc__app_block(); } void isc_app_unblock(void) { - if (!isc_bind9) - return; - isc__app_unblock(); } diff --git a/lib/isc/include/isc/app.h b/lib/isc/include/isc/app.h index 5ed2750285..9c15bd61b7 100644 --- a/lib/isc/include/isc/app.h +++ b/lib/isc/include/isc/app.h @@ -94,29 +94,6 @@ typedef isc_event_t isc_appevent_t; #define ISC_APPEVENT_SHUTDOWN (ISC_EVENTCLASS_APP + 1) #define ISC_APPEVENT_LASTEVENT (ISC_EVENTCLASS_APP + 65535) -/*% - * app module methods. Only app driver implementations use this structure. - * Other clients should use the top-level interfaces (i.e., isc_app_xxx - * functions). magic must be ISCAPI_APPMETHODS_MAGIC. - */ -typedef struct isc_appmethods { - void (*ctxdestroy)(isc_appctx_t **ctxp); - isc_result_t (*ctxstart)(isc_appctx_t *ctx); - isc_result_t (*ctxrun)(isc_appctx_t *ctx); - isc_result_t (*ctxsuspend)(isc_appctx_t *ctx); - isc_result_t (*ctxshutdown)(isc_appctx_t *ctx); - void (*ctxfinish)(isc_appctx_t *ctx); - void (*settaskmgr)(isc_appctx_t *ctx, - isc_taskmgr_t *timermgr); - void (*setsocketmgr)(isc_appctx_t *ctx, - isc_socketmgr_t *timermgr); - void (*settimermgr)(isc_appctx_t *ctx, - isc_timermgr_t *timermgr); - isc_result_t (*ctxonrun)(isc_appctx_t *ctx, isc_mem_t *mctx, - isc_task_t *task, isc_taskaction_t action, - void *arg); -} isc_appmethods_t; - /*% * This structure is actually just the common prefix of an application context * implementation's version of an isc_appctx_t. @@ -129,7 +106,6 @@ typedef struct isc_appmethods { struct isc_appctx { unsigned int impmagic; unsigned int magic; - isc_appmethods_t *methods; }; #define ISCAPI_APPCTX_MAGIC ISC_MAGIC('A','a','p','c') diff --git a/lib/isc/include/isc/mem.h b/lib/isc/include/isc/mem.h index 0e990e0170..7732ff766b 100644 --- a/lib/isc/include/isc/mem.h +++ b/lib/isc/include/isc/mem.h @@ -181,44 +181,6 @@ LIBISC_EXTERNAL_DATA extern unsigned int isc_mem_defaultflags; * \endcode */ -/*% memory and memory pool methods */ -typedef struct isc_memmethods { - void (*attach)(isc_mem_t *source, isc_mem_t **targetp); - void (*detach)(isc_mem_t **mctxp); - void (*destroy)(isc_mem_t **mctxp); - void *(*memget)(isc_mem_t *mctx, size_t size _ISC_MEM_FLARG); - void (*memput)(isc_mem_t *mctx, void *ptr, size_t size _ISC_MEM_FLARG); - void (*memputanddetach)(isc_mem_t **mctxp, void *ptr, - size_t size _ISC_MEM_FLARG); - void *(*memallocate)(isc_mem_t *mctx, size_t size _ISC_MEM_FLARG); - void *(*memreallocate)(isc_mem_t *mctx, void *ptr, - size_t size _ISC_MEM_FLARG); - char *(*memstrdup)(isc_mem_t *mctx, const char *s _ISC_MEM_FLARG); - void (*memfree)(isc_mem_t *mctx, void *ptr _ISC_MEM_FLARG); - void (*setdestroycheck)(isc_mem_t *mctx, bool flag); - void (*setwater)(isc_mem_t *ctx, isc_mem_water_t water, - void *water_arg, size_t hiwater, size_t lowater); - void (*waterack)(isc_mem_t *ctx, int flag); - size_t (*inuse)(isc_mem_t *mctx); - size_t (*maxinuse)(isc_mem_t *mctx); - size_t (*total)(isc_mem_t *mctx); - bool (*isovermem)(isc_mem_t *mctx); - isc_result_t (*mpcreate)(isc_mem_t *mctx, size_t size, - isc_mempool_t **mpctxp); -} isc_memmethods_t; - -typedef struct isc_mempoolmethods { - void (*destroy)(isc_mempool_t **mpctxp); - void *(*get)(isc_mempool_t *mpctx _ISC_MEM_FLARG); - void (*put)(isc_mempool_t *mpctx, void *mem _ISC_MEM_FLARG); - unsigned int (*getallocated)(isc_mempool_t *mpctx); - void (*setmaxalloc)(isc_mempool_t *mpctx, unsigned int limit); - void (*setfreemax)(isc_mempool_t *mpctx, unsigned int limit); - void (*setname)(isc_mempool_t *mpctx, const char *name); - void (*associatelock)(isc_mempool_t *mpctx, isc_mutex_t *lock); - void (*setfillcount)(isc_mempool_t *mpctx, unsigned int limit); -} isc_mempoolmethods_t; - /*% * This structure is actually just the common prefix of a memory context * implementation's version of an isc_mem_t. @@ -231,7 +193,6 @@ typedef struct isc_mempoolmethods { struct isc_mem { unsigned int impmagic; unsigned int magic; - isc_memmethods_t *methods; }; #define ISCAPI_MCTX_MAGIC ISC_MAGIC('A','m','c','x') @@ -245,7 +206,6 @@ struct isc_mem { struct isc_mempool { unsigned int impmagic; unsigned int magic; - isc_mempoolmethods_t *methods; }; #define ISCAPI_MPOOL_MAGIC ISC_MAGIC('A','m','p','l') diff --git a/lib/isc/include/isc/socket.h b/lib/isc/include/isc/socket.h index dc95122e7d..943e9753d7 100644 --- a/lib/isc/include/isc/socket.h +++ b/lib/isc/include/isc/socket.h @@ -333,60 +333,6 @@ typedef enum { #define ISC_SOCKFDWATCH_WRITE 0x00000002 /*%< watch for writable */ /*@}*/ -/*% Socket and socket manager methods */ -typedef struct isc_socketmgrmethods { - void (*destroy)(isc_socketmgr_t **managerp); - isc_result_t (*socketcreate)(isc_socketmgr_t *manager, int pf, - isc_sockettype_t type, - isc_socket_t **socketp); - isc_result_t (*fdwatchcreate)(isc_socketmgr_t *manager, int fd, - int flags, - isc_sockfdwatch_t callback, - void *cbarg, isc_task_t *task, - isc_socket_t **socketp); -} isc_socketmgrmethods_t; - -typedef struct isc_socketmethods { - void (*attach)(isc_socket_t *socket, - isc_socket_t **socketp); - void (*detach)(isc_socket_t **socketp); - isc_result_t (*bind)(isc_socket_t *sock, - const isc_sockaddr_t *sockaddr, - isc_socket_options_t options); - isc_result_t (*sendto)(isc_socket_t *sock, isc_region_t *region, - isc_task_t *task, isc_taskaction_t action, - void *arg, - const isc_sockaddr_t *address, - struct in6_pktinfo *pktinfo); - isc_result_t (*sendto2)(isc_socket_t *sock, isc_region_t *region, - isc_task_t *task, - const isc_sockaddr_t *address, - struct in6_pktinfo *pktinfo, - isc_socketevent_t *event, - unsigned int flags); - isc_result_t (*connect)(isc_socket_t *sock, - const isc_sockaddr_t *addr, - isc_task_t *task, isc_taskaction_t action, - void *arg); - isc_result_t (*recv)(isc_socket_t *sock, isc_region_t *region, - unsigned int minimum, isc_task_t *task, - isc_taskaction_t action, void *arg); - isc_result_t (*recv2)(isc_socket_t *sock, isc_region_t *region, - unsigned int minimum, isc_task_t *task, - isc_socketevent_t *event, unsigned int flags); - void (*cancel)(isc_socket_t *sock, isc_task_t *task, - unsigned int how); - isc_result_t (*getsockname)(isc_socket_t *sock, - isc_sockaddr_t *addressp); - isc_sockettype_t (*gettype)(isc_socket_t *sock); - void (*ipv6only)(isc_socket_t *sock, bool yes); - isc_result_t (*fdwatchpoke)(isc_socket_t *sock, int flags); - isc_result_t (*dup)(isc_socket_t *socket, - isc_socket_t **socketp); - int (*getfd)(isc_socket_t *socket); - void (*dscp)(isc_socket_t *socket, isc_dscp_t dscp); -} isc_socketmethods_t; - /*% * This structure is actually just the common prefix of a socket manager * object implementation's version of an isc_socketmgr_t. @@ -404,7 +350,6 @@ typedef struct isc_socketmethods { struct isc_socketmgr { unsigned int impmagic; unsigned int magic; - isc_socketmgrmethods_t *methods; }; #endif @@ -420,7 +365,6 @@ struct isc_socketmgr { struct isc_socket { unsigned int impmagic; unsigned int magic; - isc_socketmethods_t *methods; }; #endif diff --git a/lib/isc/lib.c b/lib/isc/lib.c index 018cc3e8aa..d7957b2abf 100644 --- a/lib/isc/lib.c +++ b/lib/isc/lib.c @@ -77,21 +77,7 @@ isc_lib_initmsgcat(void) { } } -static isc_once_t register_once = ISC_ONCE_INIT; - -static void -do_register(void) { - isc_bind9 = false; - - RUNTIME_CHECK(isc__mem_register() == ISC_R_SUCCESS); - RUNTIME_CHECK(isc__app_register() == ISC_R_SUCCESS); - RUNTIME_CHECK(isc__task_register() == ISC_R_SUCCESS); - RUNTIME_CHECK(isc__socket_register() == ISC_R_SUCCESS); - RUNTIME_CHECK(isc__timer_register() == ISC_R_SUCCESS); -} - void isc_lib_register(void) { - RUNTIME_CHECK(isc_once_do(®ister_once, do_register) - == ISC_R_SUCCESS); + printf("ISC_LIB_REGISTER\n"); } diff --git a/lib/isc/mem.c b/lib/isc/mem.c index f86323e29e..5fa5c746c1 100644 --- a/lib/isc/mem.c +++ b/lib/isc/mem.c @@ -309,71 +309,6 @@ isc__mem_printactive(isc_mem_t *ctx0, FILE *file); unsigned int isc__mem_references(isc_mem_t *ctx0); -static struct isc__memmethods { - isc_memmethods_t methods; - - /*% - * The following are defined just for avoiding unused static functions. - */ - void *createx, *create, *create2, *stats, - *setquota, *getquota, *setname, *getname, *gettag; -} memmethods = { - { - isc__mem_attach, - isc__mem_detach, - isc__mem_destroy, - isc___mem_get, - isc___mem_put, - isc___mem_putanddetach, - isc___mem_allocate, - isc___mem_reallocate, - isc___mem_strdup, - isc___mem_free, - isc__mem_setdestroycheck, - isc__mem_setwater, - isc__mem_waterack, - isc__mem_inuse, - isc__mem_maxinuse, - isc__mem_total, - isc__mem_isovermem, - isc__mempool_create - }, - (void *)isc_mem_createx, - (void *)isc_mem_create, - (void *)isc_mem_create2, - (void *)isc_mem_stats, - (void *)isc_mem_setquota, - (void *)isc_mem_getquota, - (void *)isc_mem_setname, - (void *)isc_mem_getname, - (void *)isc_mem_gettag -}; - -static struct isc__mempoolmethods { - isc_mempoolmethods_t methods; - - /*% - * The following are defined just for avoiding unused static functions. - */ - void *getfreemax, *getfreecount, *getmaxalloc, *getfillcount; -} mempoolmethods = { - { - isc__mempool_destroy, - isc___mempool_get, - isc___mempool_put, - isc__mempool_getallocated, - isc__mempool_setmaxalloc, - isc__mempool_setfreemax, - isc__mempool_setname, - isc__mempool_associatelock, - isc__mempool_setfillcount - }, - (void *)isc_mempool_getfreemax, - (void *)isc_mempool_getfreecount, - (void *)isc_mempool_getmaxalloc, - (void *)isc_mempool_getfillcount -}; - #if ISC_MEM_TRACKLINES /*! * mctx must be locked. @@ -923,7 +858,6 @@ isc_mem_createx2(size_t init_max_size, size_t target_size, ctx->water_arg = NULL; ctx->common.impmagic = MEM_MAGIC; ctx->common.magic = ISCAPI_MCTX_MAGIC; - ctx->common.methods = (isc_memmethods_t *)&memmethods; ctx->memalloc = memalloc; ctx->memfree = memfree; ctx->arg = arg; @@ -1801,7 +1735,6 @@ isc__mempool_create(isc_mem_t *mctx0, size_t size, isc_mempool_t **mpctxp) { if (mpctx == NULL) return (ISC_R_NOMEMORY); - mpctx->common.methods = (isc_mempoolmethods_t *)&mempoolmethods; mpctx->common.impmagic = MEMPOOL_MAGIC; mpctx->common.magic = ISCAPI_MPOOL_MAGIC; mpctx->lock = NULL; @@ -2684,32 +2617,15 @@ isc__mem_create2(size_t init_max_size, size_t target_size, isc_mem_t **mctxp, isc_result_t isc_mem_create(size_t init_max_size, size_t target_size, isc_mem_t **mctxp) { - isc_result_t result; - - if (isc_bind9) - return (isc_mem_createx2(init_max_size, target_size, - default_memalloc, default_memfree, - NULL, mctxp, isc_mem_defaultflags)); - LOCK(&createlock); - - REQUIRE(mem_createfunc != NULL); - result = (*mem_createfunc)(init_max_size, target_size, mctxp, - isc_mem_defaultflags); - - UNLOCK(&createlock); - - return (result); + return (isc_mem_createx2(init_max_size, target_size, + default_memalloc, default_memfree, + NULL, mctxp, isc_mem_defaultflags)); } isc_result_t isc_mem_create2(size_t init_max_size, size_t target_size, isc_mem_t **mctxp, unsigned int flags) { - if (isc_bind9) - return (isc_mem_createx2(init_max_size, target_size, - default_memalloc, default_memfree, - NULL, mctxp, flags)); - return (isc_mem_createx2(init_max_size, target_size, default_memalloc, default_memfree, NULL, mctxp, flags)); @@ -2720,10 +2636,7 @@ isc_mem_attach(isc_mem_t *source, isc_mem_t **targetp) { REQUIRE(ISCAPI_MCTX_VALID(source)); REQUIRE(targetp != NULL && *targetp == NULL); - if (isc_bind9) - isc__mem_attach(source, targetp); - else - source->methods->attach(source, targetp); + isc__mem_attach(source, targetp); ENSURE(*targetp == source); } @@ -2732,10 +2645,7 @@ void isc_mem_detach(isc_mem_t **mctxp) { REQUIRE(mctxp != NULL && ISCAPI_MCTX_VALID(*mctxp)); - if (isc_bind9) - isc__mem_detach(mctxp); - else - (*mctxp)->methods->detach(mctxp); + isc__mem_detach(mctxp); ENSURE(*mctxp == NULL); } @@ -2744,10 +2654,7 @@ void isc_mem_destroy(isc_mem_t **mctxp) { REQUIRE(mctxp != NULL && ISCAPI_MCTX_VALID(*mctxp)); - if (isc_bind9) - isc__mem_destroy(mctxp); - else - (*mctxp)->methods->destroy(mctxp); + isc__mem_destroy(mctxp); ENSURE(*mctxp == NULL); } @@ -2756,7 +2663,7 @@ void isc_mem_setdestroycheck(isc_mem_t *mctx, bool flag) { REQUIRE(ISCAPI_MCTX_VALID(mctx)); - mctx->methods->setdestroycheck(mctx, flag); + isc__mem_setdestroycheck(mctx, flag); } void @@ -2765,60 +2672,42 @@ isc_mem_setwater(isc_mem_t *ctx, isc_mem_water_t water, void *water_arg, { REQUIRE(ISCAPI_MCTX_VALID(ctx)); - if (isc_bind9) - isc__mem_setwater(ctx, water, water_arg, hiwater, lowater); - else - ctx->methods->setwater(ctx, water, water_arg, hiwater, lowater); + isc__mem_setwater(ctx, water, water_arg, hiwater, lowater); } void isc_mem_waterack(isc_mem_t *ctx, int flag) { REQUIRE(ISCAPI_MCTX_VALID(ctx)); - if (isc_bind9) - isc__mem_waterack(ctx, flag); - else - ctx->methods->waterack(ctx, flag); + isc__mem_waterack(ctx, flag); } size_t isc_mem_inuse(isc_mem_t *mctx) { REQUIRE(ISCAPI_MCTX_VALID(mctx)); - if (isc_bind9) - return (isc__mem_inuse(mctx)); - - return (mctx->methods->inuse(mctx)); + return (isc__mem_inuse(mctx)); } size_t isc_mem_maxinuse(isc_mem_t *mctx) { REQUIRE(ISCAPI_MCTX_VALID(mctx)); - if (isc_bind9) - return (isc__mem_maxinuse(mctx)); - - return (mctx->methods->maxinuse(mctx)); + return (isc__mem_maxinuse(mctx)); } size_t isc_mem_total(isc_mem_t *mctx) { REQUIRE(ISCAPI_MCTX_VALID(mctx)); - if (isc_bind9) - return (isc__mem_total(mctx)); - - return (mctx->methods->total(mctx)); + return (isc__mem_total(mctx)); } bool isc_mem_isovermem(isc_mem_t *mctx) { REQUIRE(ISCAPI_MCTX_VALID(mctx)); - if (isc_bind9) - return (isc__mem_isovermem(mctx)); - - return (mctx->methods->isovermem(mctx)); + return (isc__mem_isovermem(mctx)); } @@ -2826,17 +2715,14 @@ isc_result_t isc_mempool_create(isc_mem_t *mctx, size_t size, isc_mempool_t **mpctxp) { REQUIRE(ISCAPI_MCTX_VALID(mctx)); - return (mctx->methods->mpcreate(mctx, size, mpctxp)); + return (isc__mempool_create(mctx, size, mpctxp)); } void isc_mempool_destroy(isc_mempool_t **mpctxp) { REQUIRE(mpctxp != NULL && ISCAPI_MPOOL_VALID(*mpctxp)); - if (isc_bind9) - isc__mempool_destroy(mpctxp); - else - (*mpctxp)->methods->destroy(mpctxp); + isc__mempool_destroy(mpctxp); ENSURE(*mpctxp == NULL); } @@ -2845,70 +2731,49 @@ unsigned int isc_mempool_getallocated(isc_mempool_t *mpctx) { REQUIRE(ISCAPI_MPOOL_VALID(mpctx)); - if (isc_bind9) - return (isc__mempool_getallocated(mpctx)); - - return (mpctx->methods->getallocated(mpctx)); + return (isc__mempool_getallocated(mpctx)); } void isc_mempool_setmaxalloc(isc_mempool_t *mpctx, unsigned int limit) { REQUIRE(ISCAPI_MPOOL_VALID(mpctx)); - if (isc_bind9) - isc__mempool_setmaxalloc(mpctx, limit); - else - mpctx->methods->setmaxalloc(mpctx, limit); + isc__mempool_setmaxalloc(mpctx, limit); } void isc_mempool_setfreemax(isc_mempool_t *mpctx, unsigned int limit) { REQUIRE(ISCAPI_MPOOL_VALID(mpctx)); - if (isc_bind9) - isc__mempool_setfreemax(mpctx, limit); - else - mpctx->methods->setfreemax(mpctx, limit); + isc__mempool_setfreemax(mpctx, limit); } void isc_mempool_setname(isc_mempool_t *mpctx, const char *name) { REQUIRE(ISCAPI_MPOOL_VALID(mpctx)); - if (isc_bind9) - isc__mempool_setname(mpctx, name); - else - mpctx->methods->setname(mpctx, name); + isc__mempool_setname(mpctx, name); } void isc_mempool_associatelock(isc_mempool_t *mpctx, isc_mutex_t *lock) { REQUIRE(ISCAPI_MPOOL_VALID(mpctx)); - if (isc_bind9) - isc__mempool_associatelock(mpctx, lock); - else - mpctx->methods->associatelock(mpctx, lock); + isc__mempool_associatelock(mpctx, lock); } void isc_mempool_setfillcount(isc_mempool_t *mpctx, unsigned int limit) { REQUIRE(ISCAPI_MPOOL_VALID(mpctx)); - if (isc_bind9) - isc__mempool_setfillcount(mpctx, limit); - else - mpctx->methods->setfillcount(mpctx, limit); + isc__mempool_setfillcount(mpctx, limit); } void * isc__mem_get(isc_mem_t *mctx, size_t size FLARG) { REQUIRE(ISCAPI_MCTX_VALID(mctx)); - if (isc_bind9) - return (isc___mem_get(mctx, size FLARG_PASS)); - - return (mctx->methods->memget(mctx, size FLARG_PASS)); + return (isc___mem_get(mctx, size FLARG_PASS)); } @@ -2916,20 +2781,14 @@ void isc__mem_put(isc_mem_t *mctx, void *ptr, size_t size FLARG) { REQUIRE(ISCAPI_MCTX_VALID(mctx)); - if (isc_bind9) - isc___mem_put(mctx, ptr, size FLARG_PASS); - else - mctx->methods->memput(mctx, ptr, size FLARG_PASS); + isc___mem_put(mctx, ptr, size FLARG_PASS); } void isc__mem_putanddetach(isc_mem_t **mctxp, void *ptr, size_t size FLARG) { REQUIRE(mctxp != NULL && ISCAPI_MCTX_VALID(*mctxp)); - if (isc_bind9) - isc___mem_putanddetach(mctxp, ptr, size FLARG_PASS); - else - (*mctxp)->methods->memputanddetach(mctxp, ptr, size FLARG_PASS); + isc___mem_putanddetach(mctxp, ptr, size FLARG_PASS); /* * XXX: We cannot always ensure *mctxp == NULL here @@ -2941,58 +2800,40 @@ void * isc__mem_allocate(isc_mem_t *mctx, size_t size FLARG) { REQUIRE(ISCAPI_MCTX_VALID(mctx)); - if (isc_bind9) - return (isc___mem_allocate(mctx, size FLARG_PASS)); - - return (mctx->methods->memallocate(mctx, size FLARG_PASS)); + return (isc___mem_allocate(mctx, size FLARG_PASS)); } void * isc__mem_reallocate(isc_mem_t *mctx, void *ptr, size_t size FLARG) { REQUIRE(ISCAPI_MCTX_VALID(mctx)); - if (isc_bind9) - return (isc___mem_reallocate(mctx, ptr, size FLARG_PASS)); - - return (mctx->methods->memreallocate(mctx, ptr, size FLARG_PASS)); + return (isc___mem_reallocate(mctx, ptr, size FLARG_PASS)); } char * isc__mem_strdup(isc_mem_t *mctx, const char *s FLARG) { REQUIRE(ISCAPI_MCTX_VALID(mctx)); - if (isc_bind9) - return (isc___mem_strdup(mctx, s FLARG_PASS)); - - return (mctx->methods->memstrdup(mctx, s FLARG_PASS)); + return (isc___mem_strdup(mctx, s FLARG_PASS)); } void isc__mem_free(isc_mem_t *mctx, void *ptr FLARG) { REQUIRE(ISCAPI_MCTX_VALID(mctx)); - if (isc_bind9) - isc___mem_free(mctx, ptr FLARG_PASS); - else - mctx->methods->memfree(mctx, ptr FLARG_PASS); + isc___mem_free(mctx, ptr FLARG_PASS); } void * isc__mempool_get(isc_mempool_t *mpctx FLARG) { REQUIRE(ISCAPI_MPOOL_VALID(mpctx)); - if (isc_bind9) - return (isc___mempool_get(mpctx FLARG_PASS)); - - return (mpctx->methods->get(mpctx FLARG_PASS)); + return (isc___mempool_get(mpctx FLARG_PASS)); } void isc__mempool_put(isc_mempool_t *mpctx, void *mem FLARG) { REQUIRE(ISCAPI_MPOOL_VALID(mpctx)); - if (isc_bind9) - isc___mempool_put(mpctx, mem FLARG_PASS); - else - mpctx->methods->put(mpctx, mem FLARG_PASS); + isc___mempool_put(mpctx, mem FLARG_PASS); } diff --git a/lib/isc/socket_api.c b/lib/isc/socket_api.c index 3db213375f..b791f6ae54 100644 --- a/lib/isc/socket_api.c +++ b/lib/isc/socket_api.c @@ -68,29 +68,14 @@ isc_socketmgr_createinctx(isc_mem_t *mctx, isc_appctx_t *actx, isc_result_t isc_socketmgr_create(isc_mem_t *mctx, isc_socketmgr_t **managerp) { - isc_result_t result; - - if (isc_bind9) - return (isc__socketmgr_create(mctx, managerp)); - - LOCK(&createlock); - - REQUIRE(socketmgr_createfunc != NULL); - result = (*socketmgr_createfunc)(mctx, managerp); - - UNLOCK(&createlock); - - return (result); + return (isc__socketmgr_create(mctx, managerp)); } void isc_socketmgr_destroy(isc_socketmgr_t **managerp) { REQUIRE(managerp != NULL && ISCAPI_SOCKETMGR_VALID(*managerp)); - if (isc_bind9) - isc__socketmgr_destroy(managerp); - else - (*managerp)->methods->destroy(managerp); + isc__socketmgr_destroy(managerp); ENSURE(*managerp == NULL); } @@ -101,10 +86,7 @@ isc_socket_create(isc_socketmgr_t *manager, int pf, isc_sockettype_t type, { REQUIRE(ISCAPI_SOCKETMGR_VALID(manager)); - if (isc_bind9) - return (isc__socket_create(manager, pf, type, socketp)); - - return (manager->methods->socketcreate(manager, pf, type, socketp)); + return (isc__socket_create(manager, pf, type, socketp)); } void @@ -112,10 +94,7 @@ isc_socket_attach(isc_socket_t *sock, isc_socket_t **socketp) { REQUIRE(ISCAPI_SOCKET_VALID(sock)); REQUIRE(socketp != NULL && *socketp == NULL); - if (isc_bind9) - isc__socket_attach(sock, socketp); - else - sock->methods->attach(sock, socketp); + isc__socket_attach(sock, socketp); ENSURE(*socketp == sock); } @@ -124,10 +103,7 @@ void isc_socket_detach(isc_socket_t **socketp) { REQUIRE(socketp != NULL && ISCAPI_SOCKET_VALID(*socketp)); - if (isc_bind9) - isc__socket_detach(socketp); - else - (*socketp)->methods->detach(socketp); + isc__socket_detach(socketp); ENSURE(*socketp == NULL); } @@ -138,10 +114,7 @@ isc_socket_bind(isc_socket_t *sock, const isc_sockaddr_t *sockaddr, { REQUIRE(ISCAPI_SOCKET_VALID(sock)); - if (isc_bind9) - return (isc__socket_bind(sock, sockaddr, options)); - - return (sock->methods->bind(sock, sockaddr, options)); + return (isc__socket_bind(sock, sockaddr, options)); } isc_result_t @@ -151,12 +124,8 @@ isc_socket_sendto(isc_socket_t *sock, isc_region_t *region, isc_task_t *task, { REQUIRE(ISCAPI_SOCKET_VALID(sock)); - if (isc_bind9) - return (isc__socket_sendto(sock, region, task, - action, arg, address, pktinfo)); - - return (sock->methods->sendto(sock, region, task, action, arg, address, - pktinfo)); + return (isc__socket_sendto(sock, region, task, + action, arg, address, pktinfo)); } isc_result_t @@ -165,10 +134,7 @@ isc_socket_connect(isc_socket_t *sock, const isc_sockaddr_t *addr, { REQUIRE(ISCAPI_SOCKET_VALID(sock)); - if (isc_bind9) - return (isc__socket_connect(sock, addr, task, action, arg)); - - return (sock->methods->connect(sock, addr, task, action, arg)); + return (isc__socket_connect(sock, addr, task, action, arg)); } isc_result_t @@ -177,58 +143,43 @@ isc_socket_recv(isc_socket_t *sock, isc_region_t *region, unsigned int minimum, { REQUIRE(ISCAPI_SOCKET_VALID(sock)); - if (isc_bind9) - return (isc__socket_recv(sock, region, minimum, - task, action, arg)); - - return (sock->methods->recv(sock, region, minimum, task, action, arg)); + return (isc__socket_recv(sock, region, minimum, + task, action, arg)); } void isc_socket_cancel(isc_socket_t *sock, isc_task_t *task, unsigned int how) { REQUIRE(ISCAPI_SOCKET_VALID(sock)); - if (isc_bind9) - isc__socket_cancel(sock, task, how); - else - sock->methods->cancel(sock, task, how); + isc__socket_cancel(sock, task, how); } isc_result_t isc_socket_getsockname(isc_socket_t *sock, isc_sockaddr_t *addressp) { REQUIRE(ISCAPI_SOCKET_VALID(sock)); - if (isc_bind9) - return (isc__socket_getsockname(sock, addressp)); - - return (sock->methods->getsockname(sock, addressp)); + return (isc__socket_getsockname(sock, addressp)); } void isc_socket_ipv6only(isc_socket_t *sock, bool yes) { REQUIRE(ISCAPI_SOCKET_VALID(sock)); - if (isc_bind9) - isc__socket_ipv6only(sock, yes); - else - sock->methods->ipv6only(sock, yes); + isc__socket_ipv6only(sock, yes); } void isc_socket_dscp(isc_socket_t *sock, isc_dscp_t dscp) { REQUIRE(ISCAPI_SOCKET_VALID(sock)); - sock->methods->dscp(sock, dscp); + isc__socket_dscp(sock, dscp); } isc_sockettype_t isc_socket_gettype(isc_socket_t *sock) { REQUIRE(ISCAPI_SOCKET_VALID(sock)); - if (isc_bind9) - return (isc__socket_gettype(sock)); - - return (sock->methods->gettype(sock)); + return (isc__socket_gettype(sock)); } void @@ -247,14 +198,9 @@ isc_socket_fdwatchcreate(isc_socketmgr_t *manager, int fd, int flags, { REQUIRE(ISCAPI_SOCKETMGR_VALID(manager)); - if (isc_bind9) - return (isc__socket_fdwatchcreate(manager, fd, flags, - callback, cbarg, - task, socketp)); - - return (manager->methods->fdwatchcreate(manager, fd, flags, - callback, cbarg, task, - socketp)); + return (isc__socket_fdwatchcreate(manager, fd, flags, + callback, cbarg, + task, socketp)); } isc_result_t @@ -262,10 +208,7 @@ isc_socket_fdwatchpoke(isc_socket_t *sock, int flags) { REQUIRE(ISCAPI_SOCKET_VALID(sock)); - if (isc_bind9) - return (isc__socket_fdwatchpoke(sock, flags)); - - return (sock->methods->fdwatchpoke(sock, flags)); + return (isc__socket_fdwatchpoke(sock, flags)); } isc_result_t @@ -273,20 +216,14 @@ isc_socket_dup(isc_socket_t *sock, isc_socket_t **socketp) { REQUIRE(ISCAPI_SOCKET_VALID(sock)); REQUIRE(socketp != NULL && *socketp == NULL); - if (isc_bind9) - return (isc__socket_dup(sock, socketp)); - - return (sock->methods->dup(sock, socketp)); + return (isc__socket_dup(sock, socketp)); } int isc_socket_getfd(isc_socket_t *sock) { REQUIRE(ISCAPI_SOCKET_VALID(sock)); - if (isc_bind9) - return (isc__socket_getfd(sock)); - - return (sock->methods->getfd(sock)); + return (isc__socket_getfd(sock)); } isc_result_t diff --git a/lib/isc/task.c b/lib/isc/task.c index dfd1840fe8..f3a2036c81 100644 --- a/lib/isc/task.c +++ b/lib/isc/task.c @@ -1887,30 +1887,15 @@ isc_result_t isc_taskmgr_create(isc_mem_t *mctx, unsigned int workers, unsigned int default_quantum, isc_taskmgr_t **managerp) { - isc_result_t result; - - if (isc_bind9) - return (isc__taskmgr_create(mctx, workers, - default_quantum, managerp)); - LOCK(&createlock); - - REQUIRE(taskmgr_createfunc != NULL); - result = (*taskmgr_createfunc)(mctx, workers, default_quantum, - managerp); - - UNLOCK(&createlock); - - return (result); + return (isc__taskmgr_create(mctx, 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); } @@ -1919,20 +1904,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 @@ -1942,10 +1921,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 @@ -1953,10 +1929,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); } @@ -1965,10 +1938,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); } @@ -1978,12 +1948,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 @@ -1991,12 +1956,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); } @@ -2007,10 +1967,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 @@ -2018,27 +1975,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); } @@ -2046,10 +1994,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 @@ -2057,65 +2002,44 @@ 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, bool 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); } bool 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); } void isc_task_getcurrenttimex(isc_task_t *task, isc_time_t *t) { - if (!isc_bind9) - return; - isc__task_getcurrenttimex(task, t); } @@ -2129,8 +2053,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)); } diff --git a/lib/isc/timer.c b/lib/isc/timer.c index 628b9221e2..dc00768385 100644 --- a/lib/isc/timer.c +++ b/lib/isc/timer.c @@ -127,34 +127,6 @@ isc_timermgr_poke(isc_timermgr_t *manager0); void isc__timermgr_destroy(isc_timermgr_t **managerp); -static struct isc__timermethods { - isc_timermethods_t methods; - - /*% - * The following are defined just for avoiding unused static functions. - */ - void *gettype; -} timermethods = { - { - isc__timer_attach, - isc__timer_detach, - isc__timer_reset, - isc__timer_touch - }, - (void *)isc_timer_gettype -}; - -static struct isc__timermgrmethods { - isc_timermgrmethods_t methods; - void *poke; /* see above */ -} timermgrmethods = { - { - isc__timermgr_destroy, - isc__timer_create - }, - (void *)isc_timermgr_poke -}; - static inline isc_result_t schedule(isc__timer_t *timer, isc_time_t *now, bool signal_ok) { isc_result_t result; @@ -385,7 +357,6 @@ isc__timer_create(isc_timermgr_t *manager0, isc_timertype_t type, ISC_LINK_INIT(timer, link); timer->common.impmagic = TIMER_MAGIC; timer->common.magic = ISCAPI_TIMER_MAGIC; - timer->common.methods = (isc_timermethods_t *)&timermethods; LOCK(&manager->lock); @@ -787,7 +758,6 @@ isc__timermgr_create(isc_mem_t *mctx, isc_timermgr_t **managerp) { manager->common.impmagic = TIMER_MANAGER_MAGIC; manager->common.magic = ISCAPI_TIMERMGR_MAGIC; - manager->common.methods = (isc_timermgrmethods_t *)&timermgrmethods; manager->mctx = NULL; manager->done = false; INIT_LIST(manager->timers); @@ -947,29 +917,14 @@ isc_timermgr_createinctx(isc_mem_t *mctx, isc_appctx_t *actx, isc_result_t isc_timermgr_create(isc_mem_t *mctx, isc_timermgr_t **managerp) { - isc_result_t result; - - if (isc_bind9) - return (isc__timermgr_create(mctx, managerp)); - - LOCK(&createlock); - - REQUIRE(timermgr_createfunc != NULL); - result = (*timermgr_createfunc)(mctx, managerp); - - UNLOCK(&createlock); - - return (result); + return (isc__timermgr_create(mctx, managerp)); } void isc_timermgr_destroy(isc_timermgr_t **managerp) { REQUIRE(*managerp != NULL && ISCAPI_TIMERMGR_VALID(*managerp)); - if (isc_bind9) - isc__timermgr_destroy(managerp); - else - (*managerp)->methods->destroy(managerp); + isc__timermgr_destroy(managerp); ENSURE(*managerp == NULL); } @@ -982,13 +937,8 @@ isc_timer_create(isc_timermgr_t *manager, isc_timertype_t type, { REQUIRE(ISCAPI_TIMERMGR_VALID(manager)); - if (isc_bind9) - return (isc__timer_create(manager, type, expires, interval, - task, action, arg, timerp)); - - return (manager->methods->timercreate(manager, type, expires, - interval, task, action, arg, - timerp)); + return (isc__timer_create(manager, type, expires, interval, + task, action, arg, timerp)); } void @@ -996,10 +946,7 @@ isc_timer_attach(isc_timer_t *timer, isc_timer_t **timerp) { REQUIRE(ISCAPI_TIMER_VALID(timer)); REQUIRE(timerp != NULL && *timerp == NULL); - if (isc_bind9) - isc__timer_attach(timer, timerp); - else - timer->methods->attach(timer, timerp); + isc__timer_attach(timer, timerp); ENSURE(*timerp == timer); } @@ -1008,10 +955,7 @@ void isc_timer_detach(isc_timer_t **timerp) { REQUIRE(timerp != NULL && ISCAPI_TIMER_VALID(*timerp)); - if (isc_bind9) - isc__timer_detach(timerp); - else - (*timerp)->methods->detach(timerp); + isc__timer_detach(timerp); ENSURE(*timerp == NULL); } @@ -1023,19 +967,13 @@ isc_timer_reset(isc_timer_t *timer, isc_timertype_t type, { REQUIRE(ISCAPI_TIMER_VALID(timer)); - if (isc_bind9) - return (isc__timer_reset(timer, type, expires, - interval, purge)); - - return (timer->methods->reset(timer, type, expires, interval, purge)); + return (isc__timer_reset(timer, type, expires, + interval, purge)); } isc_result_t isc_timer_touch(isc_timer_t *timer) { REQUIRE(ISCAPI_TIMER_VALID(timer)); - if (isc_bind9) - return (isc__timer_touch(timer)); - - return (timer->methods->touch(timer)); + return (isc__timer_touch(timer)); } diff --git a/lib/isc/unix/app.c b/lib/isc/unix/app.c index eb742ff030..58c2371418 100644 --- a/lib/isc/unix/app.c +++ b/lib/isc/unix/app.c @@ -115,35 +115,6 @@ typedef struct isc__appctx { static isc__appctx_t isc_g_appctx; -static struct { - isc_appmethods_t methods; - - /*% - * The following are defined just for avoiding unused static functions. - */ - void *run, *shutdown, *start, *reload, *finish, *block, *unblock; -} appmethods = { - { - isc__appctx_destroy, - isc__app_ctxstart, - isc__app_ctxrun, - isc__app_ctxsuspend, - isc__app_ctxshutdown, - isc__app_ctxfinish, - isc__appctx_settaskmgr, - isc__appctx_setsocketmgr, - isc__appctx_settimermgr, - isc__app_ctxonrun - }, - (void *)isc__app_run, - (void *)isc__app_shutdown, - (void *)isc__app_start, - (void *)isc__app_reload, - (void *)isc__app_finish, - (void *)isc__app_block, - (void *)isc__app_unblock -}; - #ifndef HAVE_SIGWAIT static void exit_action(int arg) { @@ -302,7 +273,6 @@ isc_result_t isc__app_start(void) { isc_g_appctx.common.impmagic = APPCTX_MAGIC; isc_g_appctx.common.magic = ISCAPI_APPCTX_MAGIC; - isc_g_appctx.common.methods = &appmethods.methods; isc_g_appctx.mctx = NULL; /* The remaining members will be initialized in ctxstart() */ @@ -674,7 +644,6 @@ isc__appctx_create(isc_mem_t *mctx, isc_appctx_t **ctxp) { ctx->common.impmagic = APPCTX_MAGIC; ctx->common.magic = ISCAPI_APPCTX_MAGIC; - ctx->common.methods = &appmethods.methods; ctx->mctx = NULL; isc_mem_attach(mctx, &ctx->mctx); diff --git a/lib/isc/unix/socket.c b/lib/isc/unix/socket.c index 2aebb46ac0..4097e59135 100644 --- a/lib/isc/unix/socket.c +++ b/lib/isc/unix/socket.c @@ -606,47 +606,6 @@ isc_result_t isc__socketmgr_renderjson(isc_socketmgr_t *mgr0, json_object *stats); #endif -static struct { - isc_socketmethods_t methods; - - /*% - * The following are defined just for avoiding unused static functions. - */ - void *recvv, *send, *sendv, *sendto2, *cleanunix, *permunix, *filter, - *listen, *accept, *getpeername, *isbound; -} socketmethods = { - { - isc__socket_attach, - isc__socket_detach, - isc__socket_bind, - isc__socket_sendto, - isc__socket_sendto2, - isc__socket_connect, - isc__socket_recv, - isc__socket_recv2, - isc__socket_cancel, - isc__socket_getsockname, - isc__socket_gettype, - isc__socket_ipv6only, - isc__socket_fdwatchpoke, - isc__socket_dup, - isc__socket_getfd, - isc__socket_dscp - }, - (void *)isc__socket_recvv, (void *)isc__socket_send, - (void *)isc__socket_sendv, (void *)isc__socket_sendto2, - (void *)isc__socket_cleanunix, (void *)isc__socket_permunix, - (void *)isc__socket_filter, (void *)isc__socket_listen, - (void *)isc__socket_accept, (void *)isc__socket_getpeername, - (void *)isc__socket_isbound -}; - -static isc_socketmgrmethods_t socketmgrmethods = { - isc__socketmgr_destroy, - isc__socket_create, - isc__socket_fdwatchcreate -}; - #define SELECT_POKE_SHUTDOWN (-1) #define SELECT_POKE_NOTHING (-2) #define SELECT_POKE_READ (-3) @@ -2892,7 +2851,6 @@ socket_create(isc_socketmgr_t *manager0, int pf, isc_sockettype_t type, return (result); } - sock->common.methods = (isc_socketmethods_t *)&socketmethods; sock->references = 1; *socketp = (isc_socket_t *)sock; @@ -3037,7 +2995,6 @@ isc__socket_fdwatchcreate(isc_socketmgr_t *manager0, int fd, int flags, sock->fdwatchtask = task; sock->statsindex = fdwatchstatsindex; - sock->common.methods = (isc_socketmethods_t *)&socketmethods; sock->references = 1; *socketp = (isc_socket_t *)sock; @@ -4537,7 +4494,6 @@ isc__socketmgr_create2(isc_mem_t *mctx, isc_socketmgr_t **managerp, #endif manager->stats = NULL; - manager->common.methods = &socketmgrmethods; manager->common.magic = ISCAPI_SOCKETMGR_MAGIC; manager->common.impmagic = SOCKET_MANAGER_MAGIC; manager->mctx = NULL;