Exemplo n.º 1
0
int
qnetd_instance_init(struct qnetd_instance *instance,
    enum tlv_tls_supported tls_supported, int tls_client_cert_required, size_t max_clients,
    const struct qnetd_advanced_settings *advanced_settings)
{

	memset(instance, 0, sizeof(*instance));

	instance->advanced_settings = advanced_settings;

	pr_poll_array_init(&instance->poll_array, sizeof(struct qnetd_poll_array_user_data));
	qnetd_client_list_init(&instance->clients);
	qnetd_cluster_list_init(&instance->clusters);

	instance->tls_supported = tls_supported;
	instance->tls_client_cert_required = tls_client_cert_required;

	instance->max_clients = max_clients;

	timer_list_init(&instance->main_timer_list);

	if (qnetd_dpd_timer_init(instance) != 0) {
		return (0);
	}

	return (0);
}
Exemplo n.º 2
0
void
timer_list_free(struct timer_list *tlist)
{
	struct timer_list_entry *entry;
	struct timer_list_entry *entry_next;


	entry = TAILQ_FIRST(&tlist->list);

	while (entry != NULL) {
		entry_next = TAILQ_NEXT(entry, entries);

		free(entry);

		entry = entry_next;
	}

	entry = TAILQ_FIRST(&tlist->free_list);

	while (entry != NULL) {
		entry_next = TAILQ_NEXT(entry, entries);

		free(entry);

		entry = entry_next;
	}

	timer_list_init(tlist);
}
Exemplo n.º 3
0
void raw_timer_init(void)
{
	raw_timer_ctrl = RAW_TIMER_RATE;
	
	timer_list_init();
	
	/*Create a timer task to handle soft timer*/
	raw_task_create(&raw_timer_obj, (RAW_U8  *)"timer_object",  0, 
	                  TIMER_TASK_PRIORITY,  0,   timer_task_stack, 
	                	TIMER_STACK_SIZE, timer_task, 1);

	/*create a semaphore for timer task*/
	raw_semaphore_create(&timer_sem, (RAW_U8 *)"timer_sem", 0);
		
}