hola
tengo un servidor que debe tener un hilo para la atencion de clientes y entre 
otras cosas un hilo para procesar una simulación
el servidor deberia finalizar una vez que la simulacion termina...
entre que esta subido el servidor, los clientes se conectan y reciben los 
resultados real-time
ahora tengo un problema: una vez que termina la simulacion debería hacer un 
stop() y un join() del hilo de atencion de clientes, pero el problema es que el 
accept es bloqueante
(encapsule los hilos pthread en una clase, al igual q los sockets)
una alternativa, la q recomendaron en Taller de Programacion I,es de cerrar el 
socket que esta a la escucha en el servidor
para esto, sobrecargue el stop del hilo de atencion para que cierre el listener
al cerrarse el socket el accept devuelve un etado de error y se desbloquea
al hacerlo paso por paso el programa se cierra correctamente al terminar la 
simulacion
pero al ejecutarlo por consola, se keda bloqueado en el join al hilo de 
atencion,como si no se se saliera del accept... no se porque en una funciona y 
en otra no
alguien se le ocurre porque?
otra alternativa que se me ocurre sería crear en el server un socket "bobo" q 
se conecte al server para destrabar el accept y poder finalizar bien
la otra sería usar el select con un timeout que defino yo, y evitar que sea 
bloqueante. Esta ultima opcion no se si la puedo implementar por cuestiones de 
requerimientos de la cátedra de Taller.
si alguien me tira una soga estare agradecido
gracias
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion

Responder a