posix: Ensure the initial signal disposition for tst-spawn7
authorAdhemerval Zanella Netto <adhemerval.zanella@linaro.org>
Tue, 7 Mar 2023 16:31:52 +0000 (13:31 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Wed, 8 Mar 2023 13:08:40 +0000 (10:08 -0300)
To avoid possible failure if any parent set any initial signal
disposition as SIG_IGN (for instance if the testcase is issued
with nohup).

Checked on x86_64-linux-gnu.
Tested-by: Florian Weimer <fweimer@redhat.com>
Reviewed-by: Florian Weimer <fweimer@redhat.com>
posix/tst-spawn7.c

index fedb09f..fb06915 100644 (file)
@@ -99,6 +99,12 @@ dummy_sa_handler (int signal)
 static void
 do_test_signals (void)
 {
+  /* Ensure the initial signal disposition, ignore EINVAL for internal
+     signal such as SIGCANCEL.  */
+  for (int sig = 1; sig < _NSIG; ++sig)
+    sigaction (sig, &(struct sigaction) { .sa_handler = SIG_DFL,
+                                         .sa_flags = 0 }, NULL);
+
   {
     /* Check if all signals handler are set to SIG_DFL on spawned process.  */
     spawn_signal_test ("SIG_DFL", NULL);