Commit b8b6840c authored by Brad King's avatar Brad King

KWSys: Fix process tree kill on 64-bit Windows

We enumerate processes to identify those whose parent is being killed so
that we can recursively kill the children.  Enumeration uses the
Process32(First|Next) windows API functions, which accept PROCESSENTRY32
objects to be filled.  This commit corrects the declaration of the entry
structure to account for its size on 64-bit Windows.
parent 2988287a
......@@ -2516,6 +2516,11 @@ struct _SYSTEM_PROCESS_INFORMATION
/*--------------------------------------------------------------------------*/
/* Toolhelp32 API definitions. */
#define TH32CS_SNAPPROCESS 0x00000002
#if defined(_WIN64)
typedef unsigned __int64 ProcessULONG_PTR;
#else
typedef unsigned long ProcessULONG_PTR;
#endif
typedef struct tagPROCESSENTRY32 PROCESSENTRY32;
typedef PROCESSENTRY32* LPPROCESSENTRY32;
struct tagPROCESSENTRY32
......@@ -2523,7 +2528,7 @@ struct tagPROCESSENTRY32
DWORD dwSize;
DWORD cntUsage;
DWORD th32ProcessID;
DWORD th32DefaultHeapID;
ProcessULONG_PTR th32DefaultHeapID;
DWORD th32ModuleID;
DWORD cntThreads;
DWORD th32ParentProcessID;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment