Changeset 8664 in vbox
- Timestamp:
- May 7, 2008 3:17:32 PM (17 years ago)
- svn:sync-xref-src-repo-rev:
- 30595
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/AutoLock.cpp
r8639 r8664 141 141 AssertRC (vrc); 142 142 143 #else /* VBOX_MAIN_USE_SEMRW */143 #else /* !VBOX_MAIN_USE_SEMRW */ 144 144 145 145 int vrc = RTCritSectInit (&mCritSect); … … 158 158 mWriteLockPending = 0; 159 159 160 #endif /* VBOX_MAIN_USE_SEMRW */160 #endif /* !VBOX_MAIN_USE_SEMRW */ 161 161 } 162 162 … … 168 168 RTSemRWDestroy (mSemRW); 169 169 170 #else /* VBOX_MAIN_USE_SEMRW */170 #else /* !VBOX_MAIN_USE_SEMRW */ 171 171 172 172 RTSemEventMultiDestroy (mGoReadSem); … … 174 174 RTCritSectDelete (&mCritSect); 175 175 176 #endif /* VBOX_MAIN_USE_SEMRW */176 #endif /* !VBOX_MAIN_USE_SEMRW */ 177 177 } 178 178 … … 184 184 return RTSemRWIsWriteOwner (mSemRW); 185 185 186 #else /* VBOX_MAIN_USE_SEMRW */186 #else /* !VBOX_MAIN_USE_SEMRW */ 187 187 188 188 RTCritSectEnter (&mCritSect); … … 191 191 return locked; 192 192 193 #endif /* VBOX_MAIN_USE_SEMRW */193 #endif /* !VBOX_MAIN_USE_SEMRW */ 194 194 } 195 195 … … 202 202 AssertRC (vrc); 203 203 204 #else /* VBOX_MAIN_USE_SEMRW */204 #else /* !VBOX_MAIN_USE_SEMRW */ 205 205 206 206 RTCritSectEnter (&mCritSect); … … 267 267 RTCritSectLeave (&mCritSect); 268 268 269 #endif /* VBOX_MAIN_USE_SEMRW */ 269 # ifdef DEBUG 270 if (mWriteLockLevel == 1) 271 { 272 RTTHREAD iprtThreadSelf = RTThreadSelf(); 273 if (iprtThreadSelf != NIL_RTTHREAD) 274 RTThreadWriteLockInc (iprtThreadSelf); 275 } 276 # endif 277 278 #endif /* !VBOX_MAIN_USE_SEMRW */ 270 279 } 271 280 … … 278 287 AssertRC (vrc); 279 288 280 #else /* VBOX_MAIN_USE_SEMRW */289 #else /* !VBOX_MAIN_USE_SEMRW */ 281 290 282 291 RTCritSectEnter (&mCritSect); … … 299 308 else if (mReadLockCount != 0) 300 309 RTSemEventMultiSignal (mGoReadSem); 310 311 # ifdef DEBUG 312 RTTHREAD iprtThreadSelf = RTThreadSelf(); 313 if (iprtThreadSelf != NIL_RTTHREAD) 314 RTThreadWriteLockDec (iprtThreadSelf); 315 # endif 301 316 } 302 317 } … … 308 323 RTCritSectLeave (&mCritSect); 309 324 310 #endif /* VBOX_MAIN_USE_SEMRW */325 #endif /* !VBOX_MAIN_USE_SEMRW */ 311 326 } 312 327 … … 319 334 AssertRC (vrc); 320 335 321 #else /* VBOX_MAIN_USE_SEMRW */336 #else /* !VBOX_MAIN_USE_SEMRW */ 322 337 323 338 RTCritSectEnter (&mCritSect); … … 373 388 RTSemEventMultiWait (mGoReadSem, RT_INDEFINITE_WAIT); 374 389 375 #endif /* VBOX_MAIN_USE_SEMRW */ 390 # ifdef DEBUG 391 RTTHREAD iprtThreadSelf = RTThreadSelf(); 392 if (iprtThreadSelf != NIL_RTTHREAD) 393 RTThreadReadLockInc (iprtThreadSelf); 394 # endif 395 396 #endif /* !VBOX_MAIN_USE_SEMRW */ 376 397 } 377 398 … … 384 405 AssertRC (vrc); 385 406 386 #else /* VBOX_MAIN_USE_SEMRW */407 #else /* !VBOX_MAIN_USE_SEMRW */ 387 408 388 409 RTCritSectEnter (&mCritSect); … … 431 452 RTCritSectLeave (&mCritSect); 432 453 433 #endif /* VBOX_MAIN_USE_SEMRW */ 454 # ifdef DEBUG 455 RTTHREAD iprtThreadSelf = RTThreadSelf(); 456 if (iprtThreadSelf != NIL_RTTHREAD) 457 RTThreadReadLockDec (iprtThreadSelf); 458 # endif 459 460 #endif /* !VBOX_MAIN_USE_SEMRW */ 434 461 } 435 462 … … 441 468 return RTSemRWGetWriteRecursion (mSemRW); 442 469 443 #else /* VBOX_MAIN_USE_SEMRW */470 #else /* !VBOX_MAIN_USE_SEMRW */ 444 471 445 472 Assert (mWriteLockLevel != 0); … … 447 474 return mWriteLockLevel; 448 475 449 #endif /* VBOX_MAIN_USE_SEMRW */476 #endif /* !VBOX_MAIN_USE_SEMRW */ 450 477 } 451 478
Note:
See TracChangeset
for help on using the changeset viewer.