diff --git a/slurm/slurm.h.in b/slurm/slurm.h.in index d443bceacf2198c6e9d99f897948231562acc81b..c54458d6e5b61a13af7d793ce387f24801e2a567 100644 --- a/slurm/slurm.h.in +++ b/slurm/slurm.h.in @@ -84,9 +84,11 @@ BEGIN_C_DECLS #if HAVE_INTTYPES_H # include <inttypes.h> /* for uint16_t, uint32_t definitions */ #endif +#include <stdbool.h> #include <stdio.h> /* for FILE definitions */ +#include <sys/types.h> /* for uid_t definition */ #include <time.h> /* for time_t definitions */ -#include <stdbool.h> +#include <unistd.h> #ifdef CRAPPY_COMPILER /* diff --git a/src/slurmctld/trigger_mgr.c b/src/slurmctld/trigger_mgr.c index b45cc8a48c249c93fc5b21ed17716480d5d37968..80cd7b2bbbc4ec1f896c35039ea672dbefadd430 100644 --- a/src/slurmctld/trigger_mgr.c +++ b/src/slurmctld/trigger_mgr.c @@ -897,7 +897,11 @@ static void _trigger_run_program(trig_mgr_info_t *trig_in) int i; for (i=0; i<128; i++) close(i); +#ifdef SETPGRP_TWO_ARGS + setpgrp(0, 0); +#else setpgrp(); +#endif setsid(); setuid(uid); setgid(gid); diff --git a/src/slurmd/slurmstepd/mgr.c b/src/slurmd/slurmstepd/mgr.c index 7aa389382a29f7653aec3adbc161e31a32e658bb..f59729a468c0793b37af801f518abe2890991e21 100644 --- a/src/slurmd/slurmstepd/mgr.c +++ b/src/slurmd/slurmstepd/mgr.c @@ -1736,7 +1736,11 @@ _run_script_as_user(const char *name, const char *path, slurmd_job_t *job, } chdir(job->cwd); +#ifdef SETPGRP_TWO_ARGS + setpgrp(0, 0); +#else setpgrp(); +#endif execve(path, argv, env); error("execve(): %m"); exit(127);