Changeset 63156 in vbox for trunk/src/VBox
- Timestamp:
- Aug 8, 2016 12:11:53 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/src-client/GuestSessionImpl.cpp
r62379 r63156 827 827 strTemplate.c_str(), strPath.c_str(), fDirectory)); 828 828 829 int vrc = VINF_SUCCESS;830 831 829 GuestProcessStartupInfo procInfo; 832 procInfo.mFlags = ProcessCreateFlag_WaitForStdOut; 833 procInfo.mExecutable = Utf8Str(VBOXSERVICE_TOOL_MKTEMP); 834 830 procInfo.mFlags = ProcessCreateFlag_WaitForStdOut; 835 831 try 836 832 { 833 procInfo.mExecutable = Utf8Str(VBOXSERVICE_TOOL_MKTEMP); 837 834 procInfo.mArguments.push_back(procInfo.mExecutable); /* Set argv0. */ 838 835 procInfo.mArguments.push_back(Utf8Str("--machinereadable")); … … 849 846 catch (std::bad_alloc) 850 847 { 851 vrc = VERR_NO_MEMORY; 848 Log(("Out of memory!\n")); 849 return VERR_NO_MEMORY; 852 850 } 853 851 854 852 /** @todo Use an internal HGCM command for this operation, since 855 853 * we now can run in a user-dedicated session. */ 856 int guestRc;854 int vrcGuest = VERR_IPE_UNINITIALIZED_STATUS; 857 855 GuestCtrlStreamObjects stdOut; 858 if (RT_SUCCESS(vrc)) 859 vrc = GuestProcessTool::i_runEx(this, procInfo, 856 int vrc = GuestProcessTool::i_runEx(this, procInfo, 860 857 &stdOut, 1 /* cStrmOutObjects */, 861 &guestRc); 862 858 &vrcGuest); 863 859 if (!GuestProcess::i_isGuestError(vrc)) 864 860 { … … 869 865 if (RT_FAILURE(vrc)) 870 866 { 871 guestRc = vrc; 867 if (pGuestRc) 868 *pGuestRc = vrc; 872 869 vrc = VERR_GSTCTL_GUEST_ERROR; 873 870 } … … 880 877 } 881 878 else if (pGuestRc) 882 { 883 *pGuestRc = guestRc; 884 } 879 *pGuestRc = vrcGuest; 885 880 886 881 LogFlowThisFunc(("Returning rc=%Rrc, guestRc=%Rrc\n", vrc, guestRc)); … … 1402 1397 LogFlowThisFunc(("strPath=%s\n", strPath.c_str())); 1403 1398 1404 int vrc = VINF_SUCCESS;1405 1406 1399 /** @todo Merge this with IGuestFile::queryInfo(). */ 1407 1400 GuestProcessStartupInfo procInfo; 1408 1401 procInfo.mFlags = ProcessCreateFlag_WaitForStdOut; 1409 procInfo.mExecutable = Utf8Str(VBOXSERVICE_TOOL_STAT);1410 1411 1402 try 1412 1403 { 1404 procInfo.mExecutable = Utf8Str(VBOXSERVICE_TOOL_STAT); 1413 1405 procInfo.mArguments.push_back(procInfo.mExecutable); /* Set argv0. */ 1414 1406 procInfo.mArguments.push_back(Utf8Str("--machinereadable")); … … 1420 1412 catch (std::bad_alloc) 1421 1413 { 1422 vrc = VERR_NO_MEMORY; 1423 } 1424 1425 int guestRc; 1414 Log(("Out of memory!\n")); 1415 return VERR_NO_MEMORY; 1416 } 1417 1418 int vrcGuest = VERR_IPE_UNINITIALIZED_STATUS; 1426 1419 GuestCtrlStreamObjects stdOut; 1427 if (RT_SUCCESS(vrc)) 1428 vrc = GuestProcessTool::i_runEx(this, procInfo, 1420 int vrc = GuestProcessTool::i_runEx(this, procInfo, 1429 1421 &stdOut, 1 /* cStrmOutObjects */, 1430 &guestRc); 1431 1422 &vrcGuest); 1432 1423 if (!GuestProcess::i_isGuestError(vrc)) 1433 1424 { … … 1437 1428 if (RT_FAILURE(vrc)) 1438 1429 { 1439 guestRc = vrc; 1430 if (pGuestRc) 1431 *pGuestRc = vrc; 1440 1432 vrc = VERR_GSTCTL_GUEST_ERROR; 1441 1433 } … … 1445 1437 } 1446 1438 else if (pGuestRc) 1447 { 1448 *pGuestRc = guestRc; 1449 } 1439 *pGuestRc = vrcGuest; 1450 1440 1451 1441 LogFlowThisFunc(("Returning rc=%Rrc, guestRc=%Rrc\n", vrc, guestRc));
Note:
See TracChangeset
for help on using the changeset viewer.