diff --git a/sesman/chansrv/sound.c b/sesman/chansrv/sound.c index eb299ecc..8c76c9bc 100644 --- a/sesman/chansrv/sound.c +++ b/sesman/chansrv/sound.c @@ -1363,7 +1363,7 @@ read_raw_audio_data(void *arg) } strans->trans_data_in = sttrans_data_in; - g_snprintf(path, 255, CHANSRV_PORT_STR, g_display_num); + g_snprintf(path, 255, CHANSRV_PORT_OUT_STR, g_display_num); if (trans_connect(strans, "", path, 100) != 0) { diff --git a/sesman/session.c b/sesman/session.c index b68ed3f4..6b49a3fb 100644 --- a/sesman/session.c +++ b/sesman/session.c @@ -745,9 +745,15 @@ session_start_fork(int width, int height, int bpp, char *username, temp->item->type = type; temp->item->status = SESMAN_SESSION_STATUS_ACTIVE; + /*THREAD-FIX require chain lock */ + lock_chain_acquire(); + temp->next = g_sessions; g_sessions = temp; g_session_count++; + + /*THREAD-FIX release chain lock */ + lock_chain_release(); } return display;