diff --git a/src/job.c b/src/job.c index f4f2113f..34a6e666 100644 --- a/src/job.c +++ b/src/job.c @@ -2308,10 +2308,6 @@ child_execute_job (struct output *out, int good_stdin, char **argv, char **envp) flags |= POSIX_SPAWN_USEVFORK; #endif -#ifdef SET_STACK_SIZE - /* No support for resetting the stack limit with posix_spawn(). */ -#endif - /* For any redirected FD, dup2() it to the standard FD. They are all marked close-on-exec already. */ if (fdin >= 0 && fdin != FD_STDIN) diff --git a/src/makeint.h b/src/makeint.h index d13c3135..6c9492c4 100644 --- a/src/makeint.h +++ b/src/makeint.h @@ -447,7 +447,8 @@ extern int unixy_shell; #define NEXT_TOKEN(s) while (ISSPACE (*(s))) ++(s) #define END_OF_TOKEN(s) while (! STOP_SET (*(s), MAP_SPACE|MAP_NUL)) ++(s) -#if defined(HAVE_SYS_RESOURCE_H) && defined(HAVE_GETRLIMIT) && defined(HAVE_SETRLIMIT) +/* We can't run setrlimit when using posix_spawn. */ +#if defined(HAVE_SYS_RESOURCE_H) && defined(HAVE_GETRLIMIT) && defined(HAVE_SETRLIMIT) && !defined(USE_POSIX_SPAWN) # define SET_STACK_SIZE #endif #ifdef SET_STACK_SIZE