svn commit: r356951 - head/lib/libc/gen
Kyle Evans
kevans at FreeBSD.org
Tue Jan 21 22:02:54 UTC 2020
Author: kevans
Date: Tue Jan 21 22:02:53 2020
New Revision: 356951
URL: https://svnweb.freebsd.org/changeset/base/356951
Log:
posix_spawn: mark error as volatile
In the case of an error, the RFSPAWN'd thread will write back to psa->error
with the correct exit code. Mark this as volatile as the return value is
being actively dorked up for erroneous exits on !x86.
This fixes the following tests, tested on aarch64 (only under qemu, at the
moment):
- posix_spawn/spawn_test:t_spawn_missing
- posix_spawn/spawn_test:t_spawn_nonexec
- posix_spawn/spawn_test:t_spawn_zero
Reported by: mikael
MFC after: 3 days
Modified:
head/lib/libc/gen/posix_spawn.c
Modified: head/lib/libc/gen/posix_spawn.c
==============================================================================
--- head/lib/libc/gen/posix_spawn.c Tue Jan 21 20:32:49 2020 (r356950)
+++ head/lib/libc/gen/posix_spawn.c Tue Jan 21 22:02:53 2020 (r356951)
@@ -201,7 +201,7 @@ struct posix_spawn_args {
char * const * argv;
char * const * envp;
int use_env_path;
- int error;
+ volatile int error;
};
#if defined(__i386__) || defined(__amd64__)
More information about the svn-src-all
mailing list