-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Open
Labels
Description
Both functions on the file coturn/src/apps/relay/netengine.c.
static void setup_general_relay_servers(void)
{
size_t i = 0;
for(i=0;i<get_real_general_relay_servers_number();i++) {
if(turn_params.general_relay_servers_number == 0) {
general_relay_servers[i] = (struct relay_server*)allocate_super_memory_engine(turn_params.listener.ioa_eng, sizeof(struct relay_server)); //write
general_relay_servers[i]->id = (turnserver_id)i;
general_relay_servers[i]->sm = NULL;
setup_relay_server(general_relay_servers[i], turn_params.listener.ioa_eng, ((turn_params.net_engine_version == NEV_UDP_SOCKET_PER_THREAD) || (turn_params.net_engine_version == NEV_UDP_SOCKET_PER_SESSION)) && turn_params.rfc5780);
general_relay_servers[i]->thr = pthread_self();
} else {
super_memory_t *sm = new_super_memory_region();
general_relay_servers[i] = (struct relay_server*)allocate_super_memory_region(sm,sizeof(struct relay_server));
general_relay_servers[i]->id = (turnserver_id)i;
general_relay_servers[i]->sm = sm;
if(pthread_create(&(general_relay_servers[i]->thr), NULL, run_general_relay_thread, general_relay_servers[i])) {
perror("Cannot create relay thread\n");
exit(-1);
}
pthread_detach(general_relay_servers[i]->thr);
}
}
}
void setup_server(void)
{
{
int tot = get_real_general_relay_servers_number();
if(tot) {
TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO,"Total General servers: %d\n",(int)tot);
int i;
for(i = 0;i<tot;i++) {
if(!(general_relay_servers[i])) { //read here
TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR,"General server %d is not initialized !\n",(int)i);
}
}
}
}
}
Reactions are currently unavailable