Changeset 50861 in vbox
- Timestamp:
- Mar 25, 2014 12:48:42 PM (11 years ago)
- svn:sync-xref-src-repo-rev:
- 92953
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostServices/SharedClipboard/service.cpp
r44528 r50861 330 330 VBOXCLIPBOARDCLIENTDATA *pClient = (VBOXCLIPBOARDCLIENTDATA *)pvClient; 331 331 332 LogRel2(("svcDisconnect: u32ClientID = %d\n", u32ClientID)); 333 332 334 vboxSvcClipboardReportMsg (pClient, VBOX_SHARED_CLIPBOARD_HOST_MSG_QUIT, 0); 335 336 vboxSvcClipboardCompleteReadData(pClient, VERR_NO_DATA, 0); 333 337 334 338 vboxClipboardDisconnect (pClient); … … 761 765 { 762 766 #ifndef UNIT_TEST 763 /* If there are any pending requests, they must be completed here. Since 764 * the service is single threaded, there could be only requests 765 * which the service itself has postponed. 766 * 767 * HGCM knows that the state is being saved and that the pfnComplete 768 * calls are just clean ups. These requests are saved by the VMMDev. 769 * 770 * When the state will be restored, these requests will be reissued 767 /* 768 * When the state will be restored, pending requests will be reissued 771 769 * by VMMDev. The service therefore must save state as if there were no 772 770 * pending request. 771 * Pending requests, if any, will be completed in svcDisconnect. 773 772 */ 774 773 LogRel2 (("svcSaveState: u32ClientID = %d\n", u32ClientID)); … … 781 780 int rc = SSMR3PutStructEx (pSSM, pClient, sizeof(*pClient), 0 /*fFlags*/, &g_aClipboardClientDataFields[0], NULL); 782 781 AssertRCReturn (rc, rc); 783 784 if (pClient->fAsync)785 {786 g_pHelpers->pfnCallComplete (pClient->async.callHandle, VINF_SUCCESS /* error code is not important here. */);787 pClient->fAsync = false;788 }789 790 vboxSvcClipboardCompleteReadData (pClient, VINF_SUCCESS, 0);791 792 782 #endif /* !UNIT_TEST */ 793 783 return VINF_SUCCESS;
Note:
See TracChangeset
for help on using the changeset viewer.