/* Test of sigprocmask.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include <stdlib.h>
#include <unistd.h>
-#include "ignore-value.h"
#include "macros.h"
#if !((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__)
main (int argc, char *argv[])
{
sigset_t set;
- int pid = getpid ();
+ pid_t pid = getpid ();
char command[80];
+ if (sizeof (int) < sizeof pid && 0x7fffffff < pid)
+ {
+ fputs ("Skipping test: pid too large\n", stderr);
+ return 77;
+ }
+
signal (SIGINT, sigint_handler);
sigemptyset (&set);
ASSERT (sigprocmask (SIG_BLOCK, &set, NULL) == 0);
/* Request a SIGINT signal from outside. */
- sprintf (command, "sh -c 'sleep 1; kill -%d %d' &", SIGINT, pid);
- ignore_value (system (command));
+ sprintf (command, "sh -c 'sleep 1; kill -%d %d' &", SIGINT, (int) pid);
+ ASSERT (system (command) == 0);
/* Wait. */
sleep (2);