7.1.1 Esempio

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
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.