restart_syscall(2) System Calls Manual restart_syscall(2) restart_syscall - long restart_syscall(void); : glibc ; . restart_syscall() , , (, SIGSTOP SIGTSTP), SIGCONT. . restart_syscall() is used for restarting only those system calls that, when restarted, should adjust their time-related parameters--namely poll(2) (since Linux 2.6.24), nanosleep(2) (since Linux 2.6), clock_nanosleep(2) (since Linux 2.6), and futex(2), when employed with the FUTEX_WAIT (since Linux 2.6.22) and FUTEX_WAIT_BITSET (since Linux 2.6.31) operations. restart_syscall() restarts the interrupted system call with a time argument that is suitably adjusted to account for the time that has already elapsed (including the time where the process was stopped by a signal). Without the restart_syscall() mechanism, restarting these system calls would not correctly deduct the already elapsed time when the process continued execution. restart_syscall() . errno , restart_systemcall(). Linux. Linux 2.6. glibc , . restart_syscall() , SIGCONT, , , . , SIGCONT, restart_syscall(2), , , . , , ppoll(2), select(2) pselect(2). restart_syscall(), , : , , , , . . sigaction(2), sigreturn(2), signal(7) aereiae , Azamat Hackimov , Dmitriy S. Seregin , Katrin Kutepova , Lockal , Yuri Kozlov , ; GNU 3 , . . , , . Linux man-pages 6.06 31 2023 . restart_syscall(2)