diff --git a/ChangeLog b/ChangeLog index 39a2a8ecf..239d9d5cc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2023-10-09 Wolfgang Lux + + * Source/NSTask.m(launchAndReturnError:): Use _exit instead of + exit to terminate the vfork'ed process. This avoids running the + atexit handlers, which could have visible side effects in the + parent process. + 2023-10-08 Richard Frith-Macdonald * Source/NSPredicate.m: fixup for array access keywords diff --git a/Source/NSTask.m b/Source/NSTask.m index cc43df9c5..94c494d8f 100644 --- a/Source/NSTask.m +++ b/Source/NSTask.m @@ -1735,11 +1735,11 @@ - (BOOL) launchAndReturnError: (NSError **)error if (0 != chdir(path)) { - exit(-1); + _exit(-1); } (void)execve(executable, (char**)args, (char**)envl); - exit(-1); + _exit(-1); } else {