github.com/afumu/libc@v0.0.6/musl/src/linux/clone.c (about)

     1  #define _GNU_SOURCE
     2  #include <stdarg.h>
     3  #include <unistd.h>
     4  #include <sched.h>
     5  #include "pthread_impl.h"
     6  #include "syscall.h"
     7  
     8  int clone(int (*func)(void *), void *stack, int flags, void *arg, ...)
     9  {
    10  	va_list ap;
    11  	pid_t *ptid, *ctid;
    12  	void  *tls;
    13  
    14  	va_start(ap, arg);
    15  	ptid = va_arg(ap, pid_t *);
    16  	tls  = va_arg(ap, void *);
    17  	ctid = va_arg(ap, pid_t *);
    18  	va_end(ap);
    19  
    20  	return __syscall_ret(__clone(func, stack, flags, arg, ptid, tls, ctid));
    21  }