VBOX: Special case session lock errors when we attempt to start the VM, temp exit, give BOINC the pid and let it clean up.

WINBUILD: Update vboxwrappers version to 26050
This commit is contained in:
Rom Walton 2013-12-04 14:44:14 -05:00
parent c3030097d8
commit ed93bc6a89
3 changed files with 17 additions and 6 deletions

View File

@ -1045,7 +1045,7 @@ int VBOX_VM::start() {
if (headless) {
command += " --type headless";
}
retval = vbm_popen(command, output, "start VM");
retval = vbm_popen(command, output, "start VM", true, false, 0);
if (retval) return retval;
// Wait for up to 5 minutes for the VM to switch states. A system

View File

@ -703,7 +703,18 @@ int main(int argc, char** argv) {
} else if (ERR_NOT_EXITED == retval) {
fprintf(
stderr,
"%s NOTE: VM was already running. BOINC will be notified that it needs to clean up the environment.\n"
"%s NOTE: VM was already running.\n"
" BOINC will be notified that it needs to clean up the environment.\n"
" This might be a temporary problem and so this job will be rescheduled for another time.\n",
vboxwrapper_msg_prefix(buf, sizeof(buf))
);
unrecoverable_error = false;
temp_reason = (char*)"VM environment needed to be cleaned up.";
} else if (vm.is_virtualbox_error_recoverable(retval)) {
fprintf(
stderr,
"%s NOTE: VM session lock error encountered.\n"
" BOINC will be notified that it needs to clean up the environment.\n"
" This might be a temporary problem and so this job will be rescheduled for another time.\n",
vboxwrapper_msg_prefix(buf, sizeof(buf))
);

View File

@ -128,12 +128,12 @@
</ResourceCompile>
<Link>
<AdditionalDependencies>libcmt.lib;libcpmt.lib;kernel32.lib;user32.lib;gdi32.lib;ole32.lib;wsock32.lib;psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>.\Build\$(Platform)\$(Configuration)\vboxwrapper_26049_windows_intelx86.exe</OutputFile>
<OutputFile>.\Build\$(Platform)\$(Configuration)\vboxwrapper_26050_windows_intelx86.exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
<DelayLoadDLLs>%(DelayLoadDLLs)</DelayLoadDLLs>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>.\Build\$(Platform)\$(Configuration)\vboxwrapper_26049_windows_intelx86.pdb</ProgramDatabaseFile>
<ProgramDatabaseFile>.\Build\$(Platform)\$(Configuration)\vboxwrapper_26050_windows_intelx86.pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
@ -177,12 +177,12 @@
</ResourceCompile>
<Link>
<AdditionalDependencies>libcmt.lib;libcpmt.lib;kernel32.lib;user32.lib;gdi32.lib;ole32.lib;wsock32.lib;psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>.\Build\$(Platform)\$(Configuration)\vboxwrapper_26049_windows_x86_64.exe</OutputFile>
<OutputFile>.\Build\$(Platform)\$(Configuration)\vboxwrapper_26050_windows_x86_64.exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
<DelayLoadDLLs>%(DelayLoadDLLs)</DelayLoadDLLs>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>.\Build\$(Platform)\$(Configuration)\vboxwrapper_26049_windows_x86_64.pdb</ProgramDatabaseFile>
<ProgramDatabaseFile>.\Build\$(Platform)\$(Configuration)\vboxwrapper_26050_windows_x86_64.pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>