Make kill_python a little more forgiving if it can't obtain a snapshot of module information for a given python[_d].exe process. Failing here was too pessimistic; the python[_d].exe process may be owned by another user, which is the case in some buildbot environments.
diff --git a/PCbuild/kill_python.c b/PCbuild/kill_python.c
index 7fd4d94..8ee22e8 100644
--- a/PCbuild/kill_python.c
+++ b/PCbuild/kill_python.c
@@ -118,11 +118,15 @@
/* It's a python process, so figure out which directory it's in... */
hsm = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, pe.th32ProcessID);
- if (hsm == INVALID_HANDLE_VALUE) {
- printf("CreateToolhelp32Snapshot[3] failed: %d\n", GetLastError());
- CloseHandle(hsp);
- return 1;
- }
+ if (hsm == INVALID_HANDLE_VALUE)
+ /*
+ * If our module snapshot fails (which will happen if we don't own
+ * the process), just ignore it and continue. (It seems different
+ * versions of Windows return different values for GetLastError()
+ * in this situation; it's easier to just ignore it and move on vs.
+ * stopping the build for what could be a false positive.)
+ */
+ continue;
if (!Module32FirstW(hsm, &me)) {
printf("Module32FirstW[2] failed: %d\n", GetLastError());