Changeset 32898 in vbox
- Timestamp:
- Oct 5, 2010 9:43:39 AM (14 years ago)
- svn:sync-xref-src-repo-rev:
- 66381
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/ConsoleImpl.cpp
r32885 r32898 1841 1841 if (FAILED(autoCaller.rc())) return autoCaller.rc(); 1842 1842 1843 /** @todo r=klaus holding the lock while triggering VMMDev/EMT activity is1844 * asking for deadlocks. Code MUST drop any lock before touching VMMDev. */1845 1843 AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS); 1846 1844 … … 1868 1866 tr("CPU %d is not attached"), aCpu); 1869 1867 1868 /* Leave the lock before any EMT/VMMDev call. */ 1869 alock.leave(); 1870 1870 1871 /* Check if the CPU is unlocked */ 1871 1872 PPDMIBASE pBase; … … 1913 1914 /* 1914 1915 * Call worker in EMT, that's faster and safer than doing everything 1915 * using VMR3ReqCall. Note that we separate VMR3ReqCall from VMR3ReqWait 1916 * here to make requests from under the lock in order to serialize them. 1916 * using VMR3ReqCall. 1917 1917 */ 1918 1918 PVMREQ pReq; … … 1921 1921 this, aCpu); 1922 1922 1923 /* leave the lock before a VMR3* call (EMT will call us back)! */1924 alock.leave();1925 1926 1923 if (vrc == VERR_TIMEOUT || RT_SUCCESS(vrc)) 1927 1924 { … … 1999 1996 if (FAILED(autoCaller.rc())) return autoCaller.rc(); 2000 1997 2001 /** @todo r=klaus holding the lock while triggering VMMDev/EMT activity is2002 * asking for deadlocks. Code MUST drop any lock before touching VMMDev. */2003 1998 AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS); 2004 1999 … … 3880 3875 AssertComRCReturnRC(autoCaller.rc()); 3881 3876 3882 AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS);3883 3884 3877 HRESULT rc = S_OK; 3885 3878 … … 3887 3880 if (mpVM) 3888 3881 { 3889 /* protect mpVM */3890 AutoVMCaller autoVMCaller(this);3891 if (FAILED(autoVMCaller.rc())) return autoVMCaller.rc();3892 3893 3882 if (aRemove) 3894 3883 rc = doCPURemove(aCPU);
Note:
See TracChangeset
for help on using the changeset viewer.