X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Frunas.c;h=86db9b8682c343efaee59a08bee72123fc518d60;hb=89831a7431103178268b5f1dccbf094e7c4f4095;hp=497a96ad8028996e14939c0f2f1d0676db2bea75;hpb=db7586006bc1a2b9057a2c108bf1e7d20fd6903f;p=lttng-tools.git diff --git a/src/common/runas.c b/src/common/runas.c index 497a96ad8..86db9b868 100644 --- a/src/common/runas.c +++ b/src/common/runas.c @@ -28,14 +28,20 @@ #include #include #include -#include +#include #include +#include +#include #include "runas.h" #define RUNAS_CHILD_STACK_SIZE 10485760 +#ifndef MAP_STACK +#define MAP_STACK 0 +#endif + struct run_as_data { int (*cmd)(void *data); void *data; @@ -231,9 +237,8 @@ int run_as(int (*cmd)(void *data), void *data, uid_t uid, gid_t gid) * Pointing to the middle of the stack to support architectures * where the stack grows up (HPPA). */ - pid = clone(child_run_as, child_stack + (RUNAS_CHILD_STACK_SIZE / 2), - CLONE_FILES | SIGCHLD, - &run_as_data, NULL); + pid = lttng_clone_files(child_run_as, child_stack + (RUNAS_CHILD_STACK_SIZE / 2), + &run_as_data); if (pid < 0) { perror("clone"); ret = pid;