diff options
author | Christopher Faylor <me@cgf.cx> | 2003-09-01 01:57:44 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2003-09-01 01:57:44 +0000 |
commit | 40d885eb7bb53e9f049f999a23d6aa9087649009 (patch) | |
tree | cdd4b79c364a9aabdc486d50198df938e0293a2f /winsup/utils/kill.cc | |
parent | 12ffca1d84983fee8bd8636b9074b5bf574f428b (diff) | |
download | cygnal-40d885eb7bb53e9f049f999a23d6aa9087649009.tar.gz cygnal-40d885eb7bb53e9f049f999a23d6aa9087649009.tar.bz2 cygnal-40d885eb7bb53e9f049f999a23d6aa9087649009.zip |
* Makefile.in: Display "..." when not-verbose.
* kill.cc (forcekill): Default to entered pid when pinfo fails. Issue some
warnings when things don't work.
Diffstat (limited to 'winsup/utils/kill.cc')
-rw-r--r-- | winsup/utils/kill.cc | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/winsup/utils/kill.cc b/winsup/utils/kill.cc index b0a2e1f65..3c75c5078 100644 --- a/winsup/utils/kill.cc +++ b/winsup/utils/kill.cc @@ -129,13 +129,16 @@ static void __stdcall forcekill (int pid, int sig, int wait) { external_pinfo *p = (external_pinfo *) cygwin_internal (CW_GETPINFO_FULL, pid); - if (!p) - return; - HANDLE h = OpenProcess (PROCESS_TERMINATE, FALSE, (DWORD) p->dwProcessId); + DWORD dwpid = p ? p->dwProcessId : (DWORD) pid; + HANDLE h = OpenProcess (PROCESS_TERMINATE, FALSE, (DWORD) dwpid); if (!h) + { + fprintf (stderr, "couldn't open pid %u\n", dwpid); return; + } if (!wait || WaitForSingleObject (h, 200) != WAIT_OBJECT_0) - TerminateProcess (h, sig << 8); + if (!TerminateProcess (h, sig << 8)) + fprintf (stderr, "couldn't kill pid %u, %d\n", dwpid, GetLastError ()); CloseHandle (h); } |