Mercurial > emacs
changeset 97372:aeb822613377
(w32_system_process_attributes): If the process does not exist, return nil.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Sat, 09 Aug 2008 19:05:02 +0000 |
parents | 23de3091fdd0 |
children | c6f7364d7955 |
files | src/w32.c |
diffstat | 1 files changed, 8 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/w32.c Sat Aug 09 18:19:28 2008 +0000 +++ b/src/w32.c Sat Aug 09 19:05:02 2008 +0000 @@ -3642,6 +3642,7 @@ Lisp_Object cmd_str, decoded_cmd, tem; HANDLE h_snapshot, h_proc; DWORD proc_id; + int found_proc = 0; char uname[UNLEN+1], gname[GNLEN+1], domain[1025]; DWORD ulength = sizeof (uname), dlength = sizeof (domain), trash; DWORD glength = sizeof (gname); @@ -3701,6 +3702,7 @@ attrs = Fcons (Fcons (Qthcount, make_fixnum_or_float (pe.cntThreads)), attrs); + found_proc = 1; break; } } @@ -3708,6 +3710,12 @@ CloseHandle (h_snapshot); } + if (!found_proc) + { + UNGCPRO; + return Qnil; + } + h_proc = OpenProcess (PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, proc_id); /* If we were denied a handle to the process, try again after