[pyar] Threads + señales.

Lucas Liendo mindmaster en gmail.com
Mie Sep 8 22:49:53 ART 2010


Buenas a todos !. Estuve probando algunas cosas con señales, en particular
como se comportaban las señales cuando se ejecuta mas de un hilo. Les pego
un pequeño codigo de prueba el cual levanta 2 threads y establece un signal
handler para SIGUSR1. Lo curioso es que al enviar la señal el programa
termina pero el handler no es invocado. Estableciendo el handler al comienzo
de programa (es decir, justo luego del if __name___) es como no haberlo
definido. ¿Alguien ya tuvo este incoveniente o alguno similar?

import signal
import time
from threading import Thread

def sigTermHandler(signum, frame) :
    print "Terminating..."
    exit()

class testThread(Thread) :
    def __init__(self) :
        Thread.__init__(self)

    def run(self) :
        while True :
            print "First thread."
            time.sleep(1)

class testThread2(Thread) :
    def __init__(self) :
        Thread.__init__(self)

    def run(self) :
        while True :
            print "Second thread."
            time.sleep(1)


if __name__ == "__main__" :
    thread1 = testThread()
    thread2 = testThread2()
    thread1.start()
    thread2.start()
    thread1.join()
    thread2.join()

    signal.signal(signal.SIGUSR1, sigTermHandler)

-- 
Saludos,
Lucas.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20100908/0391818e/attachment.html>


More information about the pyar mailing list