# # patch "ChangeLog" # from [e42c135e922a9f538b83fbe9931b863e4e737541] # to [b56d0e4d12d0ca5b97cc89fcfb181e8398d42cfc] # # patch "std_hooks.lua" # from [cd6f8109837ec89d642901697933e23dd44faf1d] # to [a09034cf15e000407c7fdbea620de03f79f8a73e] # # patch "win32/process.cc" # from [080e7529f15e54f058f117b6c57d822257ebd48b] # to [e7568bdf5c9b5247e04e8caba636e5c022291a35] # --- ChangeLog +++ ChangeLog @@ -1,3 +1,8 @@ +2005-04-14 Jon Bright + * win32/process.cc (process_spawn): Add some extra debug info + * std_hooks.lua (execute): If pid is -1, don't try and wait on + the process + 2005-04-14 Matt Johnston * change_set.cc (confirm_unique_entries_in_directories): use a --- std_hooks.lua +++ std_hooks.lua @@ -15,7 +15,7 @@ local pid local ret = -1 pid = spawn(path, unpack(arg)) - ret, pid = wait(pid) + if (pid ~= -1) then ret, pid = wait(pid) end return ret end --- win32/process.cc +++ win32/process.cc @@ -34,13 +34,16 @@ realexelen = strlen(argv[0])+1+MAX_PATH; realexe = (char*)malloc(realexelen); if (realexe==NULL) return 0; + L(F("searching for exe: %s\n") % argv[0]); if (SearchPath(NULL, argv[0], ".exe", realexelen, realexe, &filepart)==0) { + L(F("SearchPath failed, err=%d\n") % GetLastError()); free(realexe); return -1; } std::ostringstream cmdline_ss; + L(F("building command line\n")); cmdline_ss << realexe; for (const char *const *i = argv+1; *i; ++i) { @@ -73,6 +76,7 @@ /* We don't need to set any of the STARTUPINFO members */ if (CreateProcess(realexe, (char*)cmd.c_str(), NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi)==0) { + L(F("CreateProcess failed, err=%d\n") % GetLastError()); free(realexe); return -1; }