joaquinfontela / Taller-95.08-TP3

0 stars 0 forks source link

Race condition en manejador de clientes #13

Open mlafroce opened 3 years ago

mlafroce commented 3 years ago

https://github.com/joaquinfontela/tp3-taller/blob/c6ff6c4b736c5cd5d78e25d1845f6c91f3891923/server_src/ClientManager.cpp#L11-L17

Estás accediendo a la lista de clientes desde el hilo main mientras todavía estás aceptando clientes. Es conveniente una función stop que cierre el socket, eso que haga que el run salga del loop aceptador (por ejemplo, con una excepción) El único hilo que debería acceder a la lista de clientes conectados es el que está ejecutando run

joaquinfontela commented 3 years ago

Ahi agregue una solucion que se me ocurrio, esta bien asi? Dejo de correr el run mediante la primera instruccion del destructor, y recien ahi elimino los clientes.