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-head mailing list