/** * Shared module check helper (called on the way out). * * @param pVM Pointer to the VM. * @param VMCPUID VCPU id */ static DECLCALLBACK(void) pgmR3CheckSharedModulesHelper(PVM pVM, VMCPUID idCpu) { /* We must stall other VCPUs as we'd otherwise have to send IPI flush commands for every single change we make. */ STAM_REL_PROFILE_START(&pVM->pgm.s.StatShModCheck, a); int rc = VMMR3EmtRendezvous(pVM, VMMEMTRENDEZVOUS_FLAGS_TYPE_ALL_AT_ONCE, pgmR3SharedModuleRegRendezvous, &idCpu); AssertRCSuccess(rc); STAM_REL_PROFILE_STOP(&pVM->pgm.s.StatShModCheck, a); }
/** * Disconnects the current client. */ static void txsTcpDisconnectClient(void) { int rc; if (g_fTcpClientFromServer) rc = RTTcpServerDisconnectClient2(g_hTcpClient); else rc = RTTcpClientClose(g_hTcpClient); AssertRCSuccess(rc); g_hTcpClient = NIL_RTSOCKET; }