• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
clone(int (* func)(void *),void * stack,int flags,void * arg,...)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 }
22