Merge changes Ib44cbea8,I9763caa0 into pi-dev

* changes:
  Fix race in spawn.signal_stress test
  Fix race in ld.config.txt tests
diff --git a/tests/dl_test.cpp b/tests/dl_test.cpp
index 7444e3a..38d7783 100644
--- a/tests/dl_test.cpp
+++ b/tests/dl_test.cpp
@@ -31,6 +31,7 @@
 #include <fstream>
 
 #include "gtest_globals.h"
+#include "TemporaryFile.h"
 #include "utils.h"
 
 extern "C" int main_global_default_serial() {
@@ -167,8 +168,8 @@
 }
 
 #if defined(__BIONIC__)
-static void create_ld_config_file(std::string& config_file) {
-  std::ofstream fout(config_file.c_str(), std::ios::out);
+static void create_ld_config_file(const char* config_file) {
+  std::ofstream fout(config_file, std::ios::out);
   fout << "dir.test = " << get_testlib_root() << "/ld_config_test_helper/" << std::endl
        << "[test]" << std::endl
        << "additional.namespaces = ns2" << std::endl
@@ -196,9 +197,9 @@
   }
   std::string helper = get_testlib_root() +
       "/ld_config_test_helper/ld_config_test_helper";
-  std::string config_file = get_testlib_root() + "/ld.config.txt";
-  create_ld_config_file(config_file);
-  std::string env = std::string("LD_CONFIG_FILE=") + config_file;
+  TemporaryFile config_file;
+  create_ld_config_file(config_file.filename);
+  std::string env = std::string("LD_CONFIG_FILE=") + config_file.filename;
   chmod(helper.c_str(), 0755);
   ExecTestHelper eth;
   eth.SetArgs({ helper.c_str(), nullptr });
@@ -218,9 +219,9 @@
   }
   std::string helper = get_testlib_root() +
       "/ld_config_test_helper/ld_config_test_helper";
-  std::string config_file = get_testlib_root() + "/ld.config.txt";
-  create_ld_config_file(config_file);
-  std::string env = std::string("LD_CONFIG_FILE=") + config_file;
+  TemporaryFile config_file;
+  create_ld_config_file(config_file.filename);
+  std::string env = std::string("LD_CONFIG_FILE=") + config_file.filename;
   std::string env2 = std::string("LD_PRELOAD=") + get_testlib_root() + "/ld_config_test_helper_lib3.so";
   chmod(helper.c_str(), 0755);
   ExecTestHelper eth;
@@ -248,9 +249,9 @@
   std::string error_message = "CANNOT LINK EXECUTABLE \"" + get_testlib_root() + "/ld_config_test_helper/ld_config_test_helper\": library \"ld_config_test_helper_lib1.so\" not found\n";
   std::string helper = get_testlib_root() +
       "/ld_config_test_helper/ld_config_test_helper";
-  std::string config_file = get_testlib_root() + "/ld.config.txt";
-  create_ld_config_file(config_file);
-  std::string env = std::string("LD_CONFIG_FILE=") + config_file;
+  TemporaryFile config_file;
+  create_ld_config_file(config_file.filename);
+  std::string env = std::string("LD_CONFIG_FILE=") + config_file.filename;
   chmod(helper.c_str(), 0755);
   ExecTestHelper eth;
   eth.SetArgs({ helper.c_str(), nullptr });
diff --git a/tests/spawn_test.cpp b/tests/spawn_test.cpp
index 84df16d..3cb2a0d 100644
--- a/tests/spawn_test.cpp
+++ b/tests/spawn_test.cpp
@@ -433,12 +433,12 @@
   static pid_t parent = getpid();
 
   setpgid(0, 0);
+  signal(SIGRTMIN, SIG_IGN);
 
   pid_t pid = fork();
   ASSERT_NE(-1, pid);
 
   if (pid == 0) {
-    signal(SIGRTMIN, SIG_IGN);
     for (size_t i = 0; i < 1024; ++i) {
       kill(0, SIGRTMIN);
       usleep(10);