summaryrefslogtreecommitdiffstats
path: root/winsup/utils/kill.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/utils/kill.cc')
-rw-r--r--winsup/utils/kill.cc37
1 files changed, 15 insertions, 22 deletions
diff --git a/winsup/utils/kill.cc b/winsup/utils/kill.cc
index 8ca36bcda..626b07156 100644
--- a/winsup/utils/kill.cc
+++ b/winsup/utils/kill.cc
@@ -61,30 +61,23 @@ sig0:
char *p;
int pid = strtol (*argv, &p, 10);
if (*p != '\0')
- fprintf (stderr, "kill: illegal pid: %s\n", *argv);
+ {
+ fprintf (stderr, "kill: illegal pid: %s\n", *argv);
+ ret = 1;
+ }
+ else if (kill (pid, sig) == 0)
+ {
+ if (force)
+ forcekill (pid, sig, 1);
+ }
+ else if (force && sig != 0)
+ forcekill (pid, sig, 0);
else
{
-#if 0
- printf ("Sending %s(%d) signal to pid %d\n",
- strsignal (sig), sig, pid);
-#endif
- if (kill (pid, sig) == 0)
- {
- if (force)
- forcekill (pid, sig, 1);
- }
- else
- {
- if (force && sig != 0)
- forcekill (pid, sig, 0);
- else
- {
- char buf[1000];
- sprintf (buf, "kill %d", pid);
- perror (buf);
- ret = 1;
- }
- }
+ char buf[1000];
+ sprintf (buf, "kill %d", pid);
+ perror (buf);
+ ret = 1;
}
argv++;
}