VirtualBox

Changeset 25670 in vbox


Ignore:
Timestamp:
Jan 6, 2010 5:01:43 AM (15 years ago)
Author:
vboxsync
Message:

semrw-lockless-generic.cpp: Use the unordered version of ASMAtomicReadHandle for reading hNativeWriter. (Note: don't try use ASMAtomicUoReadU64, code breaks on darwin.x86.)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/generic/semrw-lockless-generic.cpp

    r25666 r25670  
    248248            RTNATIVETHREAD hNativeSelf = RTThreadNativeSelf();
    249249            RTNATIVETHREAD hNativeWriter;
    250             ASMAtomicReadHandle(&pThis->hNativeWriter, &hNativeWriter);
     250            ASMAtomicUoReadHandle(&pThis->hNativeWriter, &hNativeWriter);
    251251            if (hNativeSelf == hNativeWriter)
    252252            {
     
    474474        RTNATIVETHREAD hNativeSelf = RTThreadNativeSelf();
    475475        RTNATIVETHREAD hNativeWriter;
    476         ASMAtomicReadHandle(&pThis->hNativeWriter, &hNativeWriter);
     476        ASMAtomicUoReadHandle(&pThis->hNativeWriter, &hNativeWriter);
    477477        AssertReturn(hNativeSelf == hNativeWriter, VERR_NOT_OWNER);
    478478        AssertReturn(pThis->cWriterReads > 0, VERR_NOT_OWNER);
     
    517517    RTNATIVETHREAD hNativeSelf = RTThreadNativeSelf();
    518518    RTNATIVETHREAD hNativeWriter;
    519     ASMAtomicReadHandle(&pThis->hNativeWriter, &hNativeWriter);
     519    ASMAtomicUoReadHandle(&pThis->hNativeWriter, &hNativeWriter);
    520520    if (hNativeSelf == hNativeWriter)
    521521    {
     
    718718    RTNATIVETHREAD hNativeSelf = RTThreadNativeSelf();
    719719    RTNATIVETHREAD hNativeWriter;
    720     ASMAtomicReadHandle(&pThis->hNativeWriter, &hNativeWriter);
     720    ASMAtomicUoReadHandle(&pThis->hNativeWriter, &hNativeWriter);
    721721    AssertReturn(hNativeSelf == hNativeWriter, VERR_NOT_OWNER);
    722722
     
    814814    RTNATIVETHREAD hNativeSelf = RTThreadNativeSelf();
    815815    RTNATIVETHREAD hNativeWriter;
    816     ASMAtomicReadHandle(&pThis->hNativeWriter, &hNativeWriter);
     816    ASMAtomicUoReadHandle(&pThis->hNativeWriter, &hNativeWriter);
    817817    return hNativeWriter == hNativeSelf;
    818818}
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette