Vai al contenuto
Errori Linux/POSIXAvvertimento
EINTR

EINTR — System Call Interrotta

Una system call bloccante è stata interrotta da un segnale prima di poter completare.

linuxmacosunix

Cause di questo errore

Un segnale è stato consegnato al processo mentre era bloccato in una system call come read(), write() o select(). Il signal handler ha restituito il controllo e la system call non è stata riavviata automaticamente.

Come correggerlo

Ripeti la system call quando viene restituito EINTR. Usa il flag SA_RESTART con sigaction() per fare in modo che il kernel riavvii automaticamente le chiamate interrotte. Racchiudi le chiamate bloccanti in un ciclo che verifichi EINTR.

Documentazione ufficiale

Codici di errore correlati