|
|
|
|
@ -1313,7 +1313,7 @@ int main(int argc, char **argv) {
|
|
|
|
|
|
|
|
|
|
ilog(LOG_INFO, "Startup complete, version %s", RTPENGINE_VERSION);
|
|
|
|
|
|
|
|
|
|
thread_create_detach(sighandler, NULL, "signal handler");
|
|
|
|
|
thread_create_detach(sighandler, NULL, "signals");
|
|
|
|
|
|
|
|
|
|
/* load monitoring thread */
|
|
|
|
|
thread_create_looper(load_thread, rtpe_config.idle_scheduling,
|
|
|
|
|
@ -1321,19 +1321,19 @@ int main(int argc, char **argv) {
|
|
|
|
|
|
|
|
|
|
/* separate thread for releasing ports (sockets), which are scheduled for clearing */
|
|
|
|
|
thread_create_looper(release_closed_sockets, rtpe_config.idle_scheduling,
|
|
|
|
|
rtpe_config.idle_priority, "release closed sockets", 1000000);
|
|
|
|
|
rtpe_config.idle_priority, "release socks", 1000000);
|
|
|
|
|
|
|
|
|
|
/* separate thread for update of running min/max call counters */
|
|
|
|
|
thread_create_looper(call_rate_stats_updater, rtpe_config.idle_scheduling,
|
|
|
|
|
rtpe_config.idle_priority, "call rate stats", 1000000);
|
|
|
|
|
rtpe_config.idle_priority, "call stats", 1000000);
|
|
|
|
|
|
|
|
|
|
/* separate thread for ports iterations (stats update from the kernel) functionality */
|
|
|
|
|
thread_create_looper(kernel_stats_updater, rtpe_config.idle_scheduling,
|
|
|
|
|
rtpe_config.idle_priority, "kernel stats updater", 1000000);
|
|
|
|
|
rtpe_config.idle_priority, "kernel stats", 1000000);
|
|
|
|
|
|
|
|
|
|
/* separate thread for ice slow timer functionality */
|
|
|
|
|
thread_create_looper(ice_slow_timer, rtpe_config.idle_scheduling,
|
|
|
|
|
rtpe_config.idle_priority, "ice slow timer", 1000000);
|
|
|
|
|
rtpe_config.idle_priority, "ICE slow", 1000000);
|
|
|
|
|
|
|
|
|
|
if (!is_addr_unspecified(&rtpe_config.redis_ep.address) && initial_rtpe_config.redis_delete_async)
|
|
|
|
|
thread_create_detach(redis_delete_async_loop, NULL, "redis async");
|
|
|
|
|
|