mirror of https://github.com/mkerrisk/man-pages
restart_syscall.2: SYNOPSIS: Fix restart_syscall() return type
The Linux kernel uses 'long' instead of 'int' for the return type. As glibc provides no wrapper, use the same types the kernel uses. $ grep -rn 'SYSCALL_DEFINE.*(restart_syscall' kernel/signal.c:2891:SYSCALL_DEFINE0(restart_syscall) $ sed -n 2891,2895p kernel/signal.c SYSCALL_DEFINE0(restart_syscall) { struct restart_block *restart = ¤t->restart_block; return restart->fn(restart); } $ grep -rn 'struct restart_block {' include/linux/restart_block.h:25:struct restart_block { $ sed -n 25,56p include/linux/restart_block.h struct restart_block { long (*fn)(struct restart_block *); union { /* For futex_wait and futex_wait_requeue_pi */ struct { u32 __user *uaddr; u32 val; u32 flags; u32 bitset; u64 time; u32 __user *uaddr2; } futex; /* For nanosleep */ struct { clockid_t clockid; enum timespec_type type; union { struct __kernel_timespec __user *rmtp; struct old_timespec32 __user *compat_rmtp; }; u64 expires; } nanosleep; /* For poll */ struct { struct pollfd __user *ufds; int nfds; int has_timeout; unsigned long tv_sec; unsigned long tv_nsec; } poll; }; }; Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
parent
d01ce2930f
commit
701b2272cd
|
@ -34,7 +34,7 @@
|
|||
.SH NAME
|
||||
restart_syscall \- restart a system call after interruption by a stop signal
|
||||
.SH SYNOPSIS
|
||||
.B int restart_syscall(void);
|
||||
.B long restart_syscall(void);
|
||||
.PP
|
||||
.IR Note :
|
||||
There is no glibc wrapper for this system call; see NOTES.
|
||||
|
|
Loading…
Reference in New Issue