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__)
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to