Пример #1
0
static int sca_child_init(int rank)
{
	if (rank == PROC_INIT || rank == PROC_TCP_MAIN) {
		return (0);
	}

	if (rank == PROC_MAIN) {
		if (fork_dummy_timer(PROC_TIMER, "SCA DB SYNC PROCESS", 0, // we don't need sockets, just writing to DB
		sca_subscription_db_update_timer, // timer cb
		NULL, // parameter passed to callback
		sca->cfg->db_update_interval) < 0) {
			LM_ERR("sca_child_init: failed to register subscription DB "
					"sync timer process\n");
			return (-1);
		}

		return (0);
	}

	if (sca->db_api == NULL || sca->db_api->init == NULL) {
		LM_CRIT("sca_child_init: DB API not loaded!\n");
		return (-1);
	}

	return (0);
}
Пример #2
0
/**
 * @brief Initialize async module children
 */
static int child_init(int rank)
{
	if (rank!=PROC_MAIN)
		return 0;

	if(async_workers<=0)
		return 0;

	if(fork_dummy_timer(PROC_TIMER, "ASYNC MOD TIMER", 1 /*socks flag*/,
				async_timer_exec, NULL, 1 /*sec*/)<0) {
		LM_ERR("failed to register timer routine as process\n");
		return -1; /* error */
	}

	return 0;
}