Changeset 28707 in vbox
- Timestamp:
- Apr 25, 2010 5:18:04 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/GuestImpl.cpp
r28641 r28707 529 529 } 530 530 else 531 LogFlowFunc(("Callback (context ID=%u, status=%u) progress already marked as completed\n", 531 LogFlowFunc(("Callback (context ID=%u, status=%u) progress already marked as completed\n", 532 532 pData->hdr.u32ContextID, pData->u32Status)); 533 533 } … … 836 836 break; 837 837 838 /* In any other case the process either already 838 /* In any other case the process either already 839 839 * terminated or something else went wrong, so no PID ... */ 840 840 case PROC_STS_TEN: /* Terminated normally. */ … … 947 947 /* Search for existing PID. */ 948 948 PHOSTEXECOUTCALLBACKDATA pData = (HOSTEXECOUTCALLBACKDATA*)RTMemAlloc(sizeof(HOSTEXECOUTCALLBACKDATA)); 949 AssertPtr(pData);950 949 uint32_t uContextID = addCtrlCallbackContext(pData, sizeof(HOSTEXECOUTCALLBACKDATA), NULL /* pProgress */); 951 950 Assert(uContextID > 0); … … 962 961 int vrc = VINF_SUCCESS; 963 962 964 /* Make sure mParent is valid, so set the read lock while using. */965 AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);966 967 /* Forward the information to the VMM device. */ 968 AssertPtr(mParent);969 VMMDev *vmmDev = mParent->getVMMDev();970 if (vmmDev)971 {972 LogFlowFunc(("hgcmHostCall numParms=%d\n", i));973 vrc = vmmDev->hgcmHostCall("VBoxGuestControlSvc", HOST_EXEC_GET_OUTPUT,974 i, paParms);975 }976 977 alock.release();963 { 964 /* Make sure mParent is valid, so set the read lock while using. */ 965 AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS); 966 967 /* Forward the information to the VMM device. */ 968 AssertPtr(mParent); 969 VMMDev *vmmDev = mParent->getVMMDev(); 970 if (vmmDev) 971 { 972 LogFlowFunc(("hgcmHostCall numParms=%d\n", i)); 973 vrc = vmmDev->hgcmHostCall("VBoxGuestControlSvc", HOST_EXEC_GET_OUTPUT, 974 i, paParms); 975 } 976 } 978 977 979 978 if (RT_SUCCESS(vrc)) … … 1008 1007 1009 1008 /* Did we get some output? */ 1010 PHOSTEXECOUTCALLBACKDATApData = (HOSTEXECOUTCALLBACKDATA*)it->pvData;1009 pData = (HOSTEXECOUTCALLBACKDATA*)it->pvData; 1011 1010 Assert(it->cbData == sizeof(HOSTEXECOUTCALLBACKDATA)); 1012 1011 AssertPtr(pData); 1013 1012 1014 1013 if ( it->bCalled 1015 1014 && pData->cbData) … … 1018 1017 if (pData->cbData > cbData) 1019 1018 outputData.resize(pData->cbData); 1020 1019 1021 1020 /* Fill output in supplied out buffer. */ 1022 1021 memcpy(outputData.raw(), pData->pvData, pData->cbData); … … 1025 1024 else 1026 1025 vrc = VERR_NO_DATA; /* This is not an error we want to report to COM. */ 1027 1028 alock.release();1029 1026 } 1030 1027
Note:
See TracChangeset
for help on using the changeset viewer.