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 , , Kirill Rekhov ; GNU (GNU General Public License - GPL, 3 ) , - . - , , () () () <>. Linux man-pages 6.12 2 2024 . restart_syscall(2)