static int child_init(int rank) { if (rank==1) { if_update_stat(dlg_enable_stats, active_dlgs, active_dlgs_cnt); if_update_stat(dlg_enable_stats, early_dlgs, early_dlgs_cnt); } if ( (dlg_db_mode==DB_MODE_REALTIME && (rank>=0 || rank==PROC_TIMER || rank==PROC_MODULE)) || (dlg_db_mode==DB_MODE_SHUTDOWN && (rank==(dont_fork?1:PROC_MAIN) || rank==PROC_MODULE) ) || (dlg_db_mode==DB_MODE_DELAYED && (rank==PROC_MAIN || rank==PROC_MODULE || rank==PROC_TIMER || rank>0) )){ if ( dlg_connect_db(&db_url) ) { LM_ERR("failed to connect to database (rank=%d)\n",rank); return -1; } } if (cdb_url.s && cdb_url.len && init_cachedb() < 0) { LM_ERR("cannot init cachedb feature\n"); return -1; } return 0; }
static int mod_child(int rank) { /* init the cachedb */ if (db_url.s && db_url.len) return init_cachedb(&db_url); LM_DBG("db_url not set - using standard behaviour\n"); return 0; }