]> Savannah Git Hosting - gnulib.git/commitdiff
Prefer "kill -INT" to killing with a number
authorPaul Eggert <eggert@cs.ucla.edu>
Sat, 26 Nov 2022 18:43:24 +0000 (10:43 -0800)
committerPaul Eggert <eggert@cs.ucla.edu>
Sat, 26 Nov 2022 18:44:44 +0000 (10:44 -0800)
* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
* tests/test-login_tty.c (main):
* tests/test-pthread_sigmask1.c (main):
* tests/test-sigprocmask.c (main):
Prefer "kill -INT" to "kill -N" where N is SIGINT’s value.
Don’t assume pid_t fits in int.

ChangeLog
m4/pthread_sigmask.m4
tests/test-login_tty.c
tests/test-pthread_sigmask1.c
tests/test-sigprocmask.c

index c0c1026711914c82340c9ae8d56dc1b3b7c2c456..36825874d297c76aeeccf7473bbf1bec944df5e0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2022-11-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Prefer "kill -INT" to killing with a number
+       * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
+       * tests/test-login_tty.c (main):
+       * tests/test-pthread_sigmask1.c (main):
+       * tests/test-sigprocmask.c (main):
+       Prefer "kill -INT" to "kill -N" where N is SIGINT’s value.
+       Don’t assume pid_t fits in int.
+
 2022-11-25  Bruno Haible  <bruno@clisp.org>
 
        In 'trap' commands, prefer symbolic to numeric signal names.
index 0aa8c53f9ec3d4e3886497875752d179b262bc1b..8282a371e4c94c8b6e9c126968c45413cdb1ca49 100644 (file)
@@ -215,6 +215,7 @@ int main ()
            LIBS="$LIBS $LIBMULTITHREAD"])
         AC_RUN_IFELSE(
           [AC_LANG_SOURCE([[
+#include <limits.h>
 #include <pthread.h>
 #include <signal.h>
 #include <stdio.h>
@@ -230,14 +231,16 @@ sigint_handler (int sig)
 int main ()
 {
   sigset_t set;
-  int pid = getpid ();
+  pid_t pid = getpid ();
   char command[80];
+  if (LONG_MAX < pid)
+    return 6;
   signal (SIGINT, sigint_handler);
   sigemptyset (&set);
   sigaddset (&set, SIGINT);
   if (!(pthread_sigmask (SIG_BLOCK, &set, NULL) == 0))
     return 1;
-  sprintf (command, "sh -c 'sleep 1; kill -%d %d' &", SIGINT, pid);
+  sprintf (command, "sh -c 'sleep 1; kill -INT %ld' &", (long) pid);
   if (!(system (command) == 0))
     return 2;
   sleep (2);
index 3ea6968e41163728789fbe916d5e052624b60181..c8f971de4ebfe06b55b3c05c498532feb4bd06df 100644 (file)
@@ -64,7 +64,7 @@ main ()
         abort ();
     for (fd = 0; fd < 3; fd++)
       {
-        int sid = tcgetsid (fd);
+        pid_t sid = tcgetsid (fd);
         if (!(sid == -1 ? errno == ENOSYS : sid == getpid ()))
           abort ();
       }
index a7816b5e55195ac848b310ff9a853b51b6f8a086..0f87baed7c0cb42a4810e1ef47c5825ead4444c9 100644 (file)
@@ -24,6 +24,7 @@
 SIGNATURE_CHECK (pthread_sigmask, int, (int, const sigset_t *, sigset_t *));
 
 #include <errno.h>
+#include <limits.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <unistd.h>
@@ -44,9 +45,15 @@ int
 main (int argc, char *argv[])
 {
   sigset_t set;
-  int pid = getpid ();
+  pid_t pid = getpid ();
   char command[80];
 
+  if (LONG_MAX < pid)
+    {
+      fputs ("Skipping test: pid too large\n", stderr);
+      return 77;
+    }
+
   signal (SIGINT, sigint_handler);
 
   sigemptyset (&set);
@@ -59,7 +66,7 @@ main (int argc, char *argv[])
   ASSERT (pthread_sigmask (SIG_BLOCK, &set, NULL) == 0);
 
   /* Request a SIGINT signal from outside.  */
-  sprintf (command, "sh -c 'sleep 1; kill -%d %d' &", SIGINT, pid);
+  sprintf (command, "sh -c 'sleep 1; kill -INT %ld' &", (long) pid);
   ASSERT (system (command) == 0);
 
   /* Wait.  */
index 4bab4c1cce26d51b3942a15f397c08b2c4657d09..574bc82e1a4183a05e17f45f59daea1a57e89c2f 100644 (file)
@@ -24,6 +24,7 @@
 SIGNATURE_CHECK (sigprocmask, int, (int, const sigset_t *, sigset_t *));
 
 #include <errno.h>
+#include <limits.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <unistd.h>
@@ -47,7 +48,7 @@ main (int argc, char *argv[])
   pid_t pid = getpid ();
   char command[80];
 
-  if (sizeof (int) < sizeof pid && 0x7fffffff < pid)
+  if (LONG_MAX < pid)
     {
       fputs ("Skipping test: pid too large\n", stderr);
       return 77;
@@ -66,7 +67,7 @@ main (int argc, char *argv[])
   ASSERT (sigprocmask (SIG_BLOCK, &set, NULL) == 0);
 
   /* Request a SIGINT signal from outside.  */
-  sprintf (command, "sh -c 'sleep 1; kill -%d %d' &", SIGINT, (int) pid);
+  sprintf (command, "sh -c 'sleep 1; kill -INT %ld' &", (long) pid);
   ASSERT (system (command) == 0);
 
   /* Wait.  */