mirror of https://github.com/mkerrisk/man-pages
Describe the aberrant Linux behavior whereby a stop signal
plus SIGCONT can interrupt some system calls, even if no signal handler has been established, and note the system calls that behave this way.
This commit is contained in:
parent
af3c87d084
commit
48b9ec3fe1
|
@ -608,6 +608,46 @@ file descriptor.
|
|||
.IP *
|
||||
.BR io_getevents (2).
|
||||
.RE
|
||||
.SS Interruption of System Calls and Library Functions by Stop Signals
|
||||
On Linux, even in the absence of signal handlers,
|
||||
certain blocking interfaces can fail with the error
|
||||
.BR EINTR
|
||||
after the process is stopped by one of the stop signals
|
||||
and then resumed via
|
||||
.BR SIGCONT .
|
||||
This behavior is not sanctioned by POSIX.1, and doesn't occur
|
||||
on other systems.
|
||||
|
||||
The Linux interfaces that display this behavior are:
|
||||
.RS 4
|
||||
.IP * 2
|
||||
.BR epoll_wait (2),
|
||||
.BR epoll_pwait (2).
|
||||
.IP *
|
||||
.BR semop (2),
|
||||
.BR semtimedop (2).
|
||||
.IP *
|
||||
.BR sigtimedwait (2),
|
||||
.BR sigwaitinfo (2).
|
||||
.IP *
|
||||
.BR read (2)
|
||||
from an
|
||||
.BR inotify (7)
|
||||
file descriptor.
|
||||
.IP *
|
||||
Linux 2.6.21 and earlier:
|
||||
.BR futex (2)
|
||||
.BR FUTEX_WAIT ,
|
||||
.BR sem_timedwait (3),
|
||||
.BR sem_wait (3).
|
||||
.IP *
|
||||
Linux 2.6.8 and earlier:
|
||||
.BR msgrcv (2),
|
||||
.BR msgsnd (2).
|
||||
.IP *
|
||||
Linux 2.4 and earlier:
|
||||
.BR nanosleep (2).
|
||||
.RE
|
||||
.SH "CONFORMING TO"
|
||||
POSIX.1
|
||||
.SH BUGS
|
||||
|
|
Loading…
Reference in New Issue