Re: [PATCH v5 11/35] clone.2: Use syscall(SYS_...); for system calls without a wrapper

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Alex,

On 4/4/21 1:58 PM, Alejandro Colomar wrote:
> The CLONE_* constants seem to be available from either
> <linux/sched.h> or <sched.h>, and since clone3() already
> includes <linux/sched.h> for 'struct clone_args', <sched.h>
> is not really needed, AFAICS; however, to avoid confussion,
> I also included <sched.h> for clone3() for consistency:

I think that's a good decision.

> clone() is getting CLONE_* from <sched.h>, and it would confuse
> the reader if clone3() got the same CLONE_* constants from a
> different header.

Agreed.

Patch applied.

Thanks,

Michael


> 
> Signed-off-by: Alejandro Colomar <alx.manpages@xxxxxxxxx>
> ---
>  man2/clone.2 | 17 ++++++-----------
>  1 file changed, 6 insertions(+), 11 deletions(-)
> 
> diff --git a/man2/clone.2 b/man2/clone.2
> index fa7d1103e..f455c97d8 100644
> --- a/man2/clone.2
> +++ b/man2/clone.2
> @@ -56,13 +56,13 @@ clone, __clone2, clone3 \- create a child process
>  .PP
>  /* For the prototype of the raw clone() system call, see NOTES */
>  .PP
> -.BI "long clone3(struct clone_args *" cl_args ", size_t " size );
> -.fi
> +.BR "#include <linux/sched.h>" "    /* Definition of " "struct clone_args" " */"
> +.BR "#include <sched.h>" "          /* Definition of " CLONE_* " constants */"
> +.BR "#include <sys/syscall.h>" "    /* Definition of " SYS_* " constants */"
> +.B #include <unistd.h>
>  .PP
> -.IR Note :
> -There is no glibc wrapper for
> -.BR clone3 ();
> -see NOTES.
> +.BI "long syscall(SYS_clone3, struct clone_args *" cl_args ", size_t " size );
> +.fi
>  .SH DESCRIPTION
>  These system calls
>  create a new ("child") process, in a manner similar to
> @@ -1541,11 +1541,6 @@ One use of these systems calls
>  is to implement threads: multiple flows of control in a program that
>  run concurrently in a shared address space.
>  .PP
> -Glibc does not provide a wrapper for
> -.BR clone3 ();
> -call it using
> -.BR syscall (2).
> -.PP
>  Note that the glibc
>  .BR clone ()
>  wrapper function makes some changes
> 


-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/



[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux