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); }
/** * @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; }