Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
htop
Commits
5df42586
Commit
5df42586
authored
8 years ago
by
Hisham
Browse files
Options
Download
Email Patches
Plain Diff
Protect against strange values of SIGRTMIN and SIGRTMAX,
and change alignment of numbers.
parent
46d8f2ee
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
SignalsPanel.c
+5
-14
SignalsPanel.c
with
5 additions
and
14 deletions
+5
-14
SignalsPanel.c
View file @
5df42586
...
...
@@ -40,25 +40,16 @@ Panel* SignalsPanel_new() {
}
}
#if (defined(SIGRTMIN) && defined(SIGRTMAX))
// Real-time signals.
// SIGRTMIN and SIGRTMAX expand to libc internal functions and we have to
// grab their numbers at runtime.
static
char
buf
[
15
];
// 15 == sizeof("xx SIGRTMIN+nn")
int
rtmax
;
for
(
int
sig
=
SIGRTMIN
;
sig
<=
(
rtmax
=
SIGRTMAX
);
i
++
,
sig
++
)
{
// Every signal between SIGRTMIN and SIGRTMAX are denoted in "SIGRTMIN+n"
// notation. This matches glibc's strsignal(3) behavior.
// We deviate from behaviors of Bash, ksh and Solaris intentionally.
if
(
sig
==
rtmax
)
{
snprintf
(
buf
,
15
,
"%2d SIGRTMAX"
,
sig
);
}
else
{
if
(
SIGRTMAX
-
SIGRTMIN
<=
100
)
{
static
char
buf
[
15
];
for
(
int
sig
=
SIGRTMIN
;
sig
<=
SIGRTMAX
;
i
++
,
sig
++
)
{
int
n
=
sig
-
SIGRTMIN
;
snprintf
(
buf
,
15
,
"%2d SIGRTMIN%
+
d"
,
sig
,
n
);
snprintf
(
buf
,
15
,
"%2d SIGRTMIN%
-+3
d"
,
sig
,
n
);
if
(
n
==
0
)
{
buf
[
11
]
=
'\0'
;
}
Panel_set
(
this
,
i
,
(
Object
*
)
ListItem_new
(
buf
,
sig
));
}
Panel_set
(
this
,
i
,
(
Object
*
)
ListItem_new
(
buf
,
sig
));
}
#endif
Panel_setHeader
(
this
,
"Send signal:"
);
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help