diff --git a/src/main.rs b/src/main.rs index efdc20b..f3dbaa8 100644 --- a/src/main.rs +++ b/src/main.rs @@ -374,7 +374,7 @@ fn read_join_message(stream: &mut TcpStream, client: &Arc){ //join room_name { { - let rooms = client.rooms_mutex.read().unwrap(); + let mut rooms = client.rooms_mutex.write().unwrap(); if !rooms.contains_key(&extended_room_name) { //new room, must create it let map: HashMap> = HashMap::new(); let r = Arc::new(Room { @@ -382,7 +382,7 @@ fn read_join_message(stream: &mut TcpStream, client: &Arc){ clients: RwLock::new(map), master_client: Arc::new(RwLock::new(client.clone())) //client is the master, since they joined first }); - let mut rooms = client.rooms_mutex.write().unwrap(); + rooms.insert(String::from(&extended_room_name),r); println!("New room {} created",&extended_room_name); }