tengo un programa con 2 hilos:
- uno esta esperando peticiones en un socket. cuando la recibe, digamos, para simplificar, que pone la variable global "vble1", que por defecto vale -1, al valor del identificador del socket.
- el otro hilo esta esperando que haya peticiones que atender, y eso se mira cuando la vble1 vale distinto de -1, es decir, cuando el hilo principal recibio una peticion.
ahora bien, tengo un problema, y es que el segundo hilo, que no acabe hasta que no le manden una señal (tengo un while(1), pongamos), solo se da cuenta de que vble1 vale distinto de -1 si pongo un sleep() o un printf. vaya, algo que haga esperar un poco. es como si no se diese cuenta de que la variable global se actualizó, y si no pongo nada de lo anterior sigue pensando que vble1 vale -1.
alguien sabe por que puede ser? problemas de sincronizacion o algo?
agradeceria infinitamente algo de ayuda.
gracias.