static void
senddone(isc_task_t *task, isc_event_t *event) {
- isc_socketevent_t *sevent = (isc_socketevent_t *)event;
-
- REQUIRE(sevent != NULL);
- REQUIRE(sevent->ev_type == ISC_SOCKEVENT_SENDDONE);
+ REQUIRE(event != NULL);
+ REQUIRE(event->ev_type == ISC_SOCKEVENT_SENDDONE);
REQUIRE(task == task1);
printf("senddone\n");
static void
recvdone(isc_task_t *task, isc_event_t *event) {
- isc_socketevent_t *sevent = (isc_socketevent_t *)event;
+ isc_socketevent_t *sevent;
isc_buffer_t source;
isc_result_t result;
dns_message_t *response;
- REQUIRE(sevent != NULL);
- REQUIRE(sevent->ev_type == ISC_SOCKEVENT_RECVDONE);
+ REQUIRE(event != NULL);
+ REQUIRE(event->ev_type == ISC_SOCKEVENT_RECVDONE);
REQUIRE(task == task1);
+ sevent = (isc_socketevent_t *)event;
+
printf("recvdone\n");
if (sevent->result != ISC_R_SUCCESS) {
printf("failed\n");
dns_loadctx_t *lctx;
REQUIRE(event != NULL);
+ REQUIRE(DNS_LCTX_VALID(event->ev_arg));
+
lctx = event->ev_arg;
- REQUIRE(DNS_LCTX_VALID(lctx));
if (lctx->canceled)
result = ISC_R_CANCELED;
void
dns_rdata_freestruct(void *source) {
- dns_rdatacommon_t *common = source;
- REQUIRE(common != NULL);
+ dns_rdatacommon_t *common;
+
+ REQUIRE(source != NULL);
+
+ common = source;
FREESTRUCTSWITCH
}
static void
rdataset_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata) {
- unsigned char *raw = rdataset->private5;
+ unsigned char *raw;
isc_region_t r;
unsigned int length;
unsigned int flags = 0;
- REQUIRE(raw != NULL);
+ REQUIRE(rdataset != NULL);
+ REQUIRE(rdataset->private5 != NULL);
+
+ raw = rdataset->private5;
length = raw[0] * 256 + raw[1];
#if DNS_RDATASET_FIXED
static void
recv_message(isc_task_t *task, isc_event_t *ev_in) {
- isc_socketevent_t *ev = (isc_socketevent_t *)ev_in;
+ isc_socketevent_t *ev;;
isc_event_t *dev;
- dns_tcpmsg_t *tcpmsg = ev_in->ev_arg;
+ dns_tcpmsg_t *tcpmsg;
- (void)task;
+ REQUIRE(VALID_TCPMSG(ev_in->ev_arg));
- INSIST(VALID_TCPMSG(tcpmsg));
+ ev = (isc_socketevent_t *)ev_in;
+ tcpmsg = ev_in->ev_arg;
+
+ (void)task;
dev = &tcpmsg->event;
tcpmsg->address = ev->address;
write_data(FILE *file, unsigned char *datap, void *arg, uint64_t *crc) {
isc_result_t result;
size_t ret = 0;
- data_holder_t *data = (data_holder_t *)datap;
+ data_holder_t *data;
data_holder_t temp;
off_t where;
REQUIRE(file != NULL);
REQUIRE(crc != NULL);
- REQUIRE(data != NULL);
+ REQUIRE(datap != NULL);
+ data = (data_holder_t *)datap;
REQUIRE((data->len == 0 && data->data == NULL) ||
(data->len != 0 && data->data != NULL));
irs_dnsconf_dnskey_t *keyent;
REQUIRE(confp != NULL);
+ REQUIRE(IRS_DNSCONF_VALID((*confp)));
+
conf = *confp;
- REQUIRE(IRS_DNSCONF_VALID(conf));
while ((keyent = ISC_LIST_HEAD(conf->trusted_keylist)) != NULL) {
ISC_LIST_UNLINK(conf->trusted_keylist, keyent, link);
unsigned int i;
REQUIRE(confp != NULL);
+ REQUIRE(IRS_RESCONF_VALID((*confp)));
+
conf = *confp;
- REQUIRE(IRS_RESCONF_VALID(conf));
while ((searchentry = ISC_LIST_HEAD(conf->searchlist)) != NULL) {
ISC_LIST_UNLINK(conf->searchlist, searchentry, link);
isc_event_t *event;
REQUIRE(eventp != NULL);
+ REQUIRE((*eventp) != NULL);
+
event = *eventp;
- REQUIRE(event != NULL);
REQUIRE(!ISC_LINK_LINKED(event, ev_link));
REQUIRE(!ISC_LINK_LINKED(event, ev_ratelink));
isc_heap_t *heap;
REQUIRE(heapp != NULL);
+ REQUIRE(VALID_HEAP((*heapp)));
+
heap = *heapp;
- REQUIRE(VALID_HEAP(heap));
if (heap->array != NULL)
isc_mem_put(heap->mctx, heap->array,
size_t i;
REQUIRE(htp != NULL);
+ REQUIRE(ISC_HT_VALID((*htp)));
ht = *htp;
- REQUIRE(ISC_HT_VALID(ht));
-
ht->magic = 0;
for (i = 0; i < ht->size; i++) {
isc_lex_destroy(isc_lex_t **lexp) {
isc_lex_t *lex;
- /*
- * Destroy the lexer.
- */
-
REQUIRE(lexp != NULL);
+ REQUIRE(VALID_LEX((*lexp)));
+
lex = *lexp;
- REQUIRE(VALID_LEX(lex));
+ /*
+ * Destroy the lexer.
+ */
while (!EMPTY(lex->sources))
RUNTIME_CHECK(isc_lex_close(lex) == ISC_R_SUCCESS);
if (lex->data != NULL)
void
isc_lex_ungettoken(isc_lex_t *lex, isc_token_t *tokenp) {
inputsource *source;
- /*
- * Unget the current token.
- */
REQUIRE(VALID_LEX(lex));
- source = HEAD(lex->sources);
- REQUIRE(source != NULL);
+ REQUIRE(HEAD(lex->sources) != NULL);
REQUIRE(tokenp != NULL);
+
+ source = HEAD(lex->sources);
+
REQUIRE(isc_buffer_consumedlength(source->pushback) != 0 ||
tokenp->type == isc_tokentype_eof);
+ /*
+ * Unget the current token.
+ */
UNUSED(tokenp);
isc_buffer_first(source->pushback);
inputsource *source;
REQUIRE(VALID_LEX(lex));
- source = HEAD(lex->sources);
- REQUIRE(source != NULL);
+ REQUIRE(HEAD(lex->sources) != NULL);
REQUIRE(tokenp != NULL);
+
+ source = HEAD(lex->sources);
+
REQUIRE(isc_buffer_consumedlength(source->pushback) != 0 ||
tokenp->type == isc_tokentype_eof);
REQUIRE(VALID_ONDESTROY(ondest));
REQUIRE(task != NULL);
REQUIRE(eventp != NULL);
+ REQUIRE((*eventp) != NULL);
theevent = *eventp;
- REQUIRE(theevent != NULL);
-
isc_task_attach(task, &thetask);
theevent->ev_sender = thetask;
isc__task_create(isc_taskmgr_t *manager0, unsigned int quantum,
isc_task_t **taskp)
{
- isc__taskmgr_t *manager = (isc__taskmgr_t *)manager0;
+ isc__taskmgr_t *manager;
isc__task_t *task;
bool exiting;
isc_result_t result;
- REQUIRE(VALID_MANAGER(manager));
+ REQUIRE(VALID_MANAGER(manager0));
REQUIRE(taskp != NULL && *taskp == NULL);
+ manager = (isc__taskmgr_t *)manager0;
+
task = isc_mem_get(manager->mctx, sizeof(*task));
if (task == NULL)
return (ISC_R_NOMEMORY);
bool was_idle = false;
isc_event_t *event;
+ REQUIRE(eventp != NULL);
+ REQUIRE((*eventp) != NULL);
+ REQUIRE((*eventp)->ev_type > 0);
+ REQUIRE(task->state != task_state_done);
+ REQUIRE(!ISC_LINK_LINKED((*eventp), ev_ratelink));
+
/*
* Caller must be holding the task lock.
*/
-
- REQUIRE(eventp != NULL);
event = *eventp;
- REQUIRE(event != NULL);
- REQUIRE(event->ev_type > 0);
- REQUIRE(task->state != task_state_done);
- REQUIRE(!ISC_LINK_LINKED(event, ev_ratelink));
XTRACE("task_send");
isc__task_onshutdown(isc_task_t *task0, isc_taskaction_t action,
void *arg)
{
- isc__task_t *task = (isc__task_t *)task0;
+ isc__task_t *task;
bool disallowed = false;
isc_result_t result = ISC_R_SUCCESS;
isc_event_t *event;
+ REQUIRE(VALID_TASK(task0));
+ REQUIRE(action != NULL);
+
+ task = (isc__task_t *)task0;
+
/*
* Send a shutdown event with action 'action' and argument 'arg' when
* 'task' is shutdown.
*/
- REQUIRE(VALID_TASK(task));
- REQUIRE(action != NULL);
-
event = isc_event_allocate(task->manager->mctx,
NULL,
ISC_TASKEVENT_SHUTDOWN,
const char *
isc__task_getname(isc_task_t *task0) {
- isc__task_t *task = (isc__task_t *)task0;
+ isc__task_t *task;
- REQUIRE(VALID_TASK(task));
+ REQUIRE(VALID_TASK(task0));
+
+ task = (isc__task_t *)task0;
return (task->name);
}
void *
isc__task_gettag(isc_task_t *task0) {
- isc__task_t *task = (isc__task_t *)task0;
+ isc__task_t *task;
- REQUIRE(VALID_TASK(task));
+ REQUIRE(VALID_TASK(task0));
+
+ task = (isc__task_t *)task0;
return (task->tag);
}
void
isc__task_getcurrenttime(isc_task_t *task0, isc_stdtime_t *t) {
- isc__task_t *task = (isc__task_t *)task0;
+ isc__task_t *task;
- REQUIRE(VALID_TASK(task));
+ REQUIRE(VALID_TASK(task0));
REQUIRE(t != NULL);
+ task = (isc__task_t *)task0;
+
LOCK(&task->lock);
*t = task->now;
UNLOCK(&task->lock);
void
isc__task_getcurrenttimex(isc_task_t *task0, isc_time_t *t) {
- isc__task_t *task = (isc__task_t *)task0;
+ isc__task_t *task;
- REQUIRE(VALID_TASK(task));
+ REQUIRE(VALID_TASK(task0));
REQUIRE(t != NULL);
+ task = (isc__task_t *)task0;
+
LOCK(&task->lock);
*t = task->tnow;
UNLOCK(&task->lock);
isc_result_t
isc__task_beginexclusive(isc_task_t *task0) {
#ifdef USE_WORKER_THREADS
- isc__task_t *task = (isc__task_t *)task0;
+ isc__task_t *task;
isc__taskmgr_t *manager;
- REQUIRE(VALID_TASK(task));
-
- manager = task->manager;
+ REQUIRE(VALID_TASK(task0));
+ task = (isc__task_t *)task0;
REQUIRE(task->state == task_state_running);
+ manager = task->manager;
/*
* TODO REQUIRE(task == task->manager->excl);
* it should be here, it fails on shutdown server->task
void
isc__task_endexclusive(isc_task_t *task0) {
#ifdef USE_WORKER_THREADS
- isc__task_t *task = (isc__task_t *)task0;
+ isc__task_t *task;
isc__taskmgr_t *manager;
- REQUIRE(VALID_TASK(task));
- manager = task->manager;
+ REQUIRE(VALID_TASK(task0));
+ task = (isc__task_t *)task0;
REQUIRE(task->state == task_state_running);
+ manager = task->manager;
+
LOCK(&manager->lock);
REQUIRE(manager->exclusive_requested);
manager->exclusive_requested = false;
isc_task_t *task, isc_taskaction_t action, void *arg,
isc_timer_t **timerp)
{
- isc__timermgr_t *manager = (isc__timermgr_t *)manager0;
+ isc__timermgr_t *manager;
isc__timer_t *timer;
isc_result_t result;
isc_time_t now;
+ REQUIRE(VALID_MANAGER(manager0));
+ REQUIRE(task != NULL);
+ REQUIRE(action != NULL);
+
/*
* Create a new 'type' timer managed by 'manager'. The timers
* parameters are specified by 'expires' and 'interval'. Events
* called with 'arg' as the arg value. The new timer is returned
* in 'timerp'.
*/
-
- REQUIRE(VALID_MANAGER(manager));
- REQUIRE(task != NULL);
- REQUIRE(action != NULL);
+ manager = (isc__timermgr_t *)manager0;
if (expires == NULL)
expires = isc_time_epoch;
if (interval == NULL)
const isc_time_t *expires, const isc_interval_t *interval,
bool purge)
{
- isc__timer_t *timer = (isc__timer_t *)timer0;
+ isc__timer_t *timer;
isc_time_t now;
isc__timermgr_t *manager;
isc_result_t result;
* are purged from its task's event queue.
*/
- REQUIRE(VALID_TIMER(timer));
+ REQUIRE(VALID_TIMER(timer0));
+ timer = (isc__timer_t *)timer0;
manager = timer->manager;
REQUIRE(VALID_MANAGER(manager));
isc_timertype_t
isc_timer_gettype(isc_timer_t *timer0) {
- isc__timer_t *timer = (isc__timer_t *)timer0;
+ isc__timer_t *timer;
isc_timertype_t t;
- REQUIRE(VALID_TIMER(timer));
+ REQUIRE(VALID_TIMER(timer0));
+ timer = (isc__timer_t *)timer0;
LOCK(&timer->lock);
t = timer->type;
isc_result_t
isc__timer_touch(isc_timer_t *timer0) {
- isc__timer_t *timer = (isc__timer_t *)timer0;
+ isc__timer_t *timer;
isc_result_t result;
isc_time_t now;
* Set the last-touched time of 'timer' to the current time.
*/
- REQUIRE(VALID_TIMER(timer));
+ REQUIRE(VALID_TIMER(timer0));
+ timer = (isc__timer_t *)timer0;
LOCK(&timer->lock);
void
isc__timer_attach(isc_timer_t *timer0, isc_timer_t **timerp) {
- isc__timer_t *timer = (isc__timer_t *)timer0;
+ isc__timer_t *timer;
/*
* Attach *timerp to timer.
*/
- REQUIRE(VALID_TIMER(timer));
+ REQUIRE(VALID_TIMER(timer0));
+ timer = (isc__timer_t *)timer0;
REQUIRE(timerp != NULL && *timerp == NULL);
LOCK(&timer->lock);
set_index(void *what, unsigned int index) {
isc__timer_t *timer;
+ REQUIRE(VALID_TIMER(what));
timer = what;
- REQUIRE(VALID_TIMER(timer));
timer->index = index;
}
void
isc_timermgr_poke(isc_timermgr_t *manager0) {
#ifdef USE_TIMER_THREAD
- isc__timermgr_t *manager = (isc__timermgr_t *)manager0;
+ isc__timermgr_t *manager;
- REQUIRE(VALID_MANAGER(manager));
+ REQUIRE(VALID_MANAGER(manager0));
+ manager = (isc__timermgr_t *)manager0;
SIGNAL(&manager->wakeup);
#else
isc__appctx_t *ctx;
REQUIRE(ctxp != NULL);
+
ctx = (isc__appctx_t *)*ctxp;
+
REQUIRE(VALID_APPCTX(ctx));
isc_mem_putanddetach(&ctx->mctx, ctx, sizeof(*ctx));
void
isc__appctx_settaskmgr(isc_appctx_t *ctx0, isc_taskmgr_t *taskmgr) {
- isc__appctx_t *ctx = (isc__appctx_t *)ctx0;
+ isc__appctx_t *ctx;
- REQUIRE(VALID_APPCTX(ctx));
+ REQUIRE(VALID_APPCTX(ctx0));
+
+ ctx = (isc__appctx_t *)ctx0;
ctx->taskmgr = taskmgr;
}
void
isc__appctx_setsocketmgr(isc_appctx_t *ctx0, isc_socketmgr_t *socketmgr) {
- isc__appctx_t *ctx = (isc__appctx_t *)ctx0;
+ isc__appctx_t *ctx;
- REQUIRE(VALID_APPCTX(ctx));
+ REQUIRE(VALID_APPCTX(ctx0));
+
+ ctx = (isc__appctx_t *)ctx0;
ctx->socketmgr = socketmgr;
}
void
isc__appctx_settimermgr(isc_appctx_t *ctx0, isc_timermgr_t *timermgr) {
- isc__appctx_t *ctx = (isc__appctx_t *)ctx0;
+ isc__appctx_t *ctx;
- REQUIRE(VALID_APPCTX(ctx));
+ REQUIRE(VALID_APPCTX(ctx0));
+
+ ctx = (isc__appctx_t *)ctx0;
ctx->timermgr = timermgr;
}
return (linux_if_inet6_current(iter));
#endif
- INSIST(ifa != NULL);
- INSIST(ifa->ifa_name != NULL);
+ REQUIRE(iter->pos != NULL);
+ REQUIRE(iter->pos->ifa_name != NULL);
if (ifa->ifa_addr == NULL)
return (ISC_R_IGNORE);
static void
internal_destroy(isc_interfaceiter_t *iter) {
+ REQUIRE(VALID_IFITER(iter));
#ifdef __linux
if (iter->proc != NULL)
isc_interfaceiter_destroy(isc_interfaceiter_t **iterp)
{
isc_interfaceiter_t *iter;
+
REQUIRE(iterp != NULL);
+ REQUIRE(VALID_IFITER((*iterp)));
+
iter = *iterp;
- REQUIRE(VALID_IFITER(iter));
internal_destroy(iter);
if (iter->buf != NULL)