VirtualBox

Ignore:
Timestamp:
Nov 28, 2012 11:44:04 AM (12 years ago)
Author:
vboxsync
Message:

Guest Control: Respect detached processes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/common/VBoxService/VBoxServiceControlThread.cpp

    r43196 r43981  
    646646                                                               phStdInW, phStdOutR, phStdErrR, pThread);
    647647                    break;
     648
     649                default:
     650                    AssertMsgFailed(("Unknown idPollHnd=%RU32\n", idPollHnd));
     651                    break;
    648652            }
    649653
     
    855859        VBoxServiceVerbose(2, "[PID %u]: Ended, ClientID=%u, CID=%u, Status=%u, Flags=0x%x\n",
    856860                           pThread->uPID, pThread->uClientID, pThread->uContextID, uStatus, uFlags);
    857         rc = VbglR3GuestCtrlExecReportStatus(pThread->uClientID, pThread->uContextID,
    858                                              pThread->uPID, uStatus, uFlags,
    859                                              NULL /* pvData */, 0 /* cbData */);
    860         if (RT_FAILURE(rc))
    861             VBoxServiceError("[PID %u]: Error reporting final status to host; rc=%Rrc\n",
    862                              pThread->uPID, rc);
     861
     862        if (!(pThread->uFlags & EXECUTEPROCESSFLAG_WAIT_START))
     863        {
     864            rc2 = VbglR3GuestCtrlExecReportStatus(pThread->uClientID, pThread->uContextID,
     865                                                 pThread->uPID, uStatus, uFlags,
     866                                                 NULL /* pvData */, 0 /* cbData */);
     867            if (RT_FAILURE(rc2))
     868                VBoxServiceError("[PID %u]: Error reporting final status to host; rc=%Rrc\n",
     869                                 pThread->uPID, rc2);
     870            if (RT_SUCCESS(rc))
     871                rc = rc2;
     872        }
     873        else
     874            VBoxServiceVerbose(3, "[PID %u]: Was started detached, no final status sent to host\n",
     875                               pThread->uPID);
    863876
    864877        VBoxServiceVerbose(3, "[PID %u]: Process loop ended with rc=%Rrc\n",
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette