Questo è un piccolo programma di esempio. Usa la funzione alarm() per limitare il tempo speso aspettando di aprire un file; questo è utile se il file rappresenta un dispositivo seriale che potrebbe non essere acceso, che normalmente causerebbe un'attesa indefinita alla os.open(). La soluzione è impostare un allarme di 5 secondi prima di aprire un file; se l'operazione richiede troppo tempo, il segnale di allarme viene inviato, ed il gestore solleva un'eccezione.
import signal, os def handler(signum, frame): print 'Signal handler called with signal', signum raise IOError, "Couldn't open device!" # Imposta il gestore di segnale per un'allarme di 5 secondi signal.signal(signal.SIGALRM, handler) signal.alarm(5) # Questa open() può attendere indefinitamente fd = os.open('/dev/ttyS0', os.O_RDWR) signal.alarm(0) # Disabilita l'allarme