X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=utils%2Fnhfsstone%2Fnhfsstone.c;h=ceff96637d04b53f130d81686aac1238155d58ae;hp=034ba792c138e7cd6c2427b8debce2b2c4adb8b1;hb=a09eeb36c2c45151b9bb89f5015da0c584799716;hpb=93608a52655abf5ac23404c4b5cc05fe575a9c04 diff --git a/utils/nhfsstone/nhfsstone.c b/utils/nhfsstone/nhfsstone.c index 034ba79..ceff966 100644 --- a/utils/nhfsstone/nhfsstone.c +++ b/utils/nhfsstone/nhfsstone.c @@ -10,6 +10,7 @@ static char sccsid[] = "@(#)nhfsstone.c 1.22 90/05/08 Copyright (c) 1990, Legato * Ported to Linux by Olaf Kirch */ +#include "config.h" #include #include #include @@ -312,7 +313,11 @@ main(int argc, char **argv) int pid; /* process id */ int delay; /* msecs since last checked current time */ int randnum; /* a random number */ +#if HAVE_SIGPROCMASK + sigset_t oldmask; /* saved signal mask */ +#else int oldmask; /* saved signal mask */ +#endif int sampletime; /* secs between reading kernel stats */ char *opts; /* option parsing */ int pct; @@ -478,7 +483,20 @@ main(int argc, char **argv) (void) signal(SIGINT, cleanup); (void) signal(SIGUSR1, startup); +#if HAVE_SIGPROCMASK + { + sigset_t mask; + sigemptyset(&mask); + sigaddset(&mask, SIGUSR1); + sigprocmask(SIG_BLOCK, &mask, &oldmask); + } +#else + /* + * sigblock() is marked deprecated in modern + * glibc and hence generates a warning. + */ oldmask = sigblock(sigmask(SIGUSR1)); +#endif if (ncalls == 0) { if (runtime == 0) { @@ -630,7 +648,11 @@ main(int argc, char **argv) exit(1); } +#if HAVE_SIGPROCMASK + sigsuspend(&oldmask); +#else sigpause(oldmask); +#endif /* * Initialize counters