Package: procps Version: 2:3.3.12-3 Severity: important Tags: upstream patch X-Debbugs-Cc: [email protected] User: [email protected] Usertags: kfreebsd
Hello,
Jon's patch[0] unfortunately causes number_of_signals to differ
between Linux and other kernels not having SIGPWR. pkill from the
Debian procps/2:3.3.12-3 package has this issue on kfreebsd arches:
$ pkill -2 foobar
WARNING: 30 signals -- adjust and recompile.
In proc/sig.c:
289 /* sanity check */
290 static int init_signal_list(void) __attribute__((constructor));
291 static int init_signal_list(void){
292 if(number_of_signals != 31){
293 fprintf(stderr, "WARNING: %d signals -- adjust and recompile.\n",
number_of_signals);
294 }
295 return 0;
296 }
it may be counter-productive to maintain an expected number_of_signals
for each platform. May I suggest to only do the sanity check on Linux?
(patch attached, tested on kfreebsd-amd64)
[0]:
https://gitlab.com/procps-ng/procps/commit/8abd0c92ab7576280b2a601c12ff749ab41c117f
Many thanks,
Regards,
--
Steven Chamberlain
[email protected]
From 7741344069d31d5e7f4206534ed1989ed1180e49 Mon Sep 17 00:00:00 2001 From: Steven Chamberlain <[email protected]> Date: Mon, 9 Jan 2017 15:46:36 +0000 Subject: [PATCH] library: only check number_of_signals on Linux number_of_signals is expected to differ across platforms. Rather than try to define the expected values on each architecture, only perform the sanity check on Linux builds. --- proc/sig.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/proc/sig.c b/proc/sig.c index 461db1d..33330a4 100644 --- a/proc/sig.c +++ b/proc/sig.c @@ -287,8 +287,10 @@ void unix_print_signals(void){ /* sanity check */ static int init_signal_list(void) __attribute__((constructor)); static int init_signal_list(void){ +#ifdef __linux__ if(number_of_signals != 31){ fprintf(stderr, "WARNING: %d signals -- adjust and recompile.\n", number_of_signals); } +#endif return 0; } -- 2.5.1
signature.asc
Description: Digital signature

