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