CONF_PAIR *cp = cf_item_to_pair(ci);
char const *value = cf_pair_value(cp);
- *((char const **) out) = value;
-
inst->dict = virtual_server_dict_by_child_ci(ci);
if (!inst->dict) {
cf_log_err(ci, "Please define 'namespace' in this virtual server");
}
inst->code = type_enum->value->vb_uint32;
+ *((char const **) out) = value;
+
return 0;
}
if (fr_event_filter_insert(thread, NULL, thread->el, fd, FR_EVENT_FILTER_VNODE,
&funcs, NULL, thread) < 0) {
PERROR("Failed adding work socket to event loop");
+ close(li->fd);
close(fd);
talloc_free(li);
return -1;
li->default_message_size = inst->parent->max_packet_size;
li->num_messages = inst->parent->num_messages;
- pthread_mutex_lock(&thread->worker_mutex);
- thread->num_workers++;
- pthread_mutex_unlock(&thread->worker_mutex);
-
/*
* Open the detail.work file.
*/
*/
work->listen = li;
+ pthread_mutex_lock(&thread->worker_mutex);
+ thread->num_workers++;
+ pthread_mutex_unlock(&thread->worker_mutex);
+
return 0;
}
}
close(thread->vnode_fd);
thread->vnode_fd = -1;
-
- pthread_mutex_destroy(&thread->worker_mutex);
}
+ pthread_mutex_destroy(&thread->worker_mutex);
+
return 0;
}
}
fr_assert(*leftover == 0);
+ packet_len = 0;
goto done;
}
*packet_ctx = track;
*recv_time_p = track->timestamp;
+ thread->outstanding++;
+
done:
/*
* If we're at EOF, mark us as "closing".
MPRINT("AT EOF, BUT CLOSING %d", thread->closing);
}
- thread->outstanding++;
-
/*
* Pause reading until such time as we need more packets.
*/
FR_INTEGER_BOUND_CHECK("limit.max_outstanding", inst->max_outstanding, >=, 1);
- client = inst->client = talloc_zero(inst, fr_client_t);
- if (!inst->client) return 0;
+ MEM(client = inst->client = talloc_zero(inst, fr_client_t));
client->ipaddr.af = AF_INET;
client->ipaddr.addr.v4.s_addr = htonl(INADDR_NONE);
client->src_ipaddr = client->ipaddr;
- client->longname = client->shortname = client->secret = inst->filename;
+ client->longname = client->shortname = client->secret = inst->filename_work;
client->nas_type = talloc_strdup(client, "other");
return 0;