diff --git a/sesman/session.c b/sesman/session.c index 32b2e6be..665d1138 100644 --- a/sesman/session.c +++ b/sesman/session.c @@ -684,9 +684,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;