Changeset 56448 in vbox
- Timestamp:
- Jun 16, 2015 1:09:31 PM (10 years ago)
- svn:sync-xref-src-repo-rev:
- 101065
- Location:
- trunk/src/VBox/Main
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/include/SessionImpl.h
r55800 r56448 141 141 142 142 143 HRESULT i_unlockMachine(bool aFinalRelease, bool aFromServer );143 HRESULT i_unlockMachine(bool aFinalRelease, bool aFromServer, AutoWriteLock *pLockW); 144 144 145 145 SessionState_T mState; -
trunk/src/VBox/Main/src-client/SessionImpl.cpp
r55988 r56448 123 123 mState == SessionState_Spawning); 124 124 125 HRESULT rc = i_unlockMachine(true /* aFinalRelease */, false /* aFromServer */ );125 HRESULT rc = i_unlockMachine(true /* aFinalRelease */, false /* aFromServer */, &alock); 126 126 AssertComRC(rc); 127 127 } … … 240 240 241 241 CHECK_OPEN(); 242 243 return i_unlockMachine(false /* aFinalRelease */, false /* aFromServer */); 242 return i_unlockMachine(false /* aFinalRelease */, false /* aFromServer */, &alock); 244 243 } 245 244 … … 535 534 536 535 /* close ourselves */ 537 rc = i_unlockMachine(false /* aFinalRelease */, true /* aFromServer */ );536 rc = i_unlockMachine(false /* aFinalRelease */, true /* aFromServer */, &alock); 538 537 } 539 538 else if (getObjectState().getState() == ObjectState::InUninit) … … 1058 1057 * @param aFinalRelease called as a result of FinalRelease() 1059 1058 * @param aFromServer called as a result of Uninitialize() 1059 * @param pLockW The write lock this object is protected with. 1060 * Must be acquired already and will be released 1061 * and later reacquired during the unlocking. 1060 1062 * 1061 1063 * @note To be called only from #uninit(), #UnlockMachine() or #Uninitialize(). 1062 * @note Locks this object for writing.1063 1064 */ 1064 HRESULT Session::i_unlockMachine(bool aFinalRelease, bool aFromServer )1065 HRESULT Session::i_unlockMachine(bool aFinalRelease, bool aFromServer, AutoWriteLock *pLockW) 1065 1066 { 1066 1067 LogFlowThisFuncEnter(); … … 1068 1069 aFinalRelease, aFromServer)); 1069 1070 1070 AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS);1071 1072 1071 LogFlowThisFunc(("mState=%s, mType=%d\n", Global::stringifySessionState(mState), mType)); 1072 1073 Assert(pLockW->isWriteLockOnCurrentThread()); 1073 1074 1074 1075 if (mState != SessionState_Locked) … … 1137 1138 * SessionState_Closing here, so it's safe. 1138 1139 */ 1139 alock.release();1140 pLockW->release(); 1140 1141 1141 1142 LogFlowThisFunc(("Calling mControl->OnSessionEnd()...\n")); … … 1143 1144 LogFlowThisFunc(("mControl->OnSessionEnd()=%08X\n", rc)); 1144 1145 1145 alock.acquire();1146 pLockW->acquire(); 1146 1147 1147 1148 /*
Note:
See TracChangeset
for help on using the changeset viewer.