VirtualBox

Ignore:
Timestamp:
Jan 11, 2010 2:22:03 PM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
56464
Message:

iprt/RTSemFastMutex: A little cleanup.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/r0drv/freebsd/semfastmutex-r0drv-freebsd.c

    r22579 r25722  
    5858
    5959
    60 RTDECL(int)  RTSemFastMutexCreate(PRTSEMFASTMUTEX pMutexSem)
     60RTDECL(int)  RTSemFastMutexCreate(PRTSEMFASTMUTEX phFastMtx)
    6161{
    6262    AssertCompile(sizeof(RTSEMFASTMUTEXINTERNAL) > sizeof(void *));
    63     AssertPtrReturn(pMutexSem, VERR_INVALID_POINTER);
     63    AssertPtrReturn(phFastMtx, VERR_INVALID_POINTER);
    6464
    65     PRTSEMFASTMUTEXINTERNAL pFastInt = (PRTSEMFASTMUTEXINTERNAL)RTMemAllocZ(sizeof(*pFastInt));
    66     if (pFastInt)
     65    PRTSEMFASTMUTEXINTERNAL pThis = (PRTSEMFASTMUTEXINTERNAL)RTMemAllocZ(sizeof(*pThis));
     66    if (pThis)
    6767    {
    68         pFastInt->u32Magic = RTSEMFASTMUTEX_MAGIC;
    69         sx_init(&pFastInt->SxLock, "IPRT Fast Mutex Semaphore");
    70         *pMutexSem = pFastInt;
     68        pThis->u32Magic = RTSEMFASTMUTEX_MAGIC;
     69        sx_init(&pThis->SxLock, "IPRT Fast Mutex Semaphore");
     70
     71        *phFastMtx = pThis;
    7172        return VINF_SUCCESS;
    7273    }
     
    7576
    7677
    77 RTDECL(int)  RTSemFastMutexDestroy(RTSEMFASTMUTEX MutexSem)
     78RTDECL(int)  RTSemFastMutexDestroy(RTSEMFASTMUTEX hFastMtx)
    7879{
    79     if (MutexSem == NIL_RTSEMFASTMUTEX) /* don't bitch */
    80         return VERR_INVALID_PARAMETER;
    81     PRTSEMFASTMUTEXINTERNAL pFastInt = (PRTSEMFASTMUTEXINTERNAL)MutexSem;
    82     AssertPtrReturn(pFastInt, VERR_INVALID_PARAMETER);
    83     AssertMsgReturn(pFastInt->u32Magic == RTSEMFASTMUTEX_MAGIC,
    84                     ("pFastInt->u32Magic=%RX32 pFastInt=%p\n", pFastInt->u32Magic, pFastInt),
    85                     VERR_INVALID_PARAMETER);
     80    PRTSEMFASTMUTEXINTERNAL pThis = hFastMtx;
     81    if (pThis == NIL_RTSEMFASTMUTEX)
     82        return VINF_SUCCESS;
     83    AssertPtrReturn(pThis, VERR_INVALID_HANDLE);
     84    AssertMsgReturn(pThis->u32Magic == RTSEMFASTMUTEX_MAGIC, ("%p: u32Magic=%RX32\n", pThis, pThis->u32Magic), VERR_INVALID_HANDLE);
    8685
    87     ASMAtomicXchgU32(&pFastInt->u32Magic, RTSEMFASTMUTEX_MAGIC_DEAD);
    88     sx_destroy(&pFastInt->SxLock);
    89     RTMemFree(pFastInt);
     86    ASMAtomicWriteU32(&pThis->u32Magic, RTSEMFASTMUTEX_MAGIC_DEAD);
     87    sx_destroy(&pThis->SxLock);
     88    RTMemFree(pThis);
    9089
    9190    return VINF_SUCCESS;
     
    9392
    9493
    95 RTDECL(int)  RTSemFastMutexRequest(RTSEMFASTMUTEX MutexSem)
     94RTDECL(int)  RTSemFastMutexRequest(RTSEMFASTMUTEX hFastMtx)
    9695{
    97     PRTSEMFASTMUTEXINTERNAL pFastInt = (PRTSEMFASTMUTEXINTERNAL)MutexSem;
    98     AssertPtrReturn(pFastInt, VERR_INVALID_PARAMETER);
    99     AssertMsgReturn(pFastInt->u32Magic == RTSEMFASTMUTEX_MAGIC,
    100                     ("pFastInt->u32Magic=%RX32 pFastInt=%p\n", pFastInt->u32Magic, pFastInt),
    101                     VERR_INVALID_PARAMETER);
     96    PRTSEMFASTMUTEXINTERNAL pThis = hFastMtx;
     97    AssertPtrReturn(pThis, VERR_INVALID_HANDLE);
     98    AssertMsgReturn(pThis->u32Magic == RTSEMFASTMUTEX_MAGIC, ("%p: u32Magic=%RX32\n", pThis, pThis->u32Magic), VERR_INVALID_HANDLE);
    10299
    103     sx_xlock(&pFastInt->SxLock);
     100    sx_xlock(&pThis->SxLock);
    104101    return VINF_SUCCESS;
    105102}
    106103
    107104
    108 RTDECL(int)  RTSemFastMutexRelease(RTSEMFASTMUTEX MutexSem)
     105RTDECL(int)  RTSemFastMutexRelease(RTSEMFASTMUTEX hFastMtx)
    109106{
    110     PRTSEMFASTMUTEXINTERNAL pFastInt = (PRTSEMFASTMUTEXINTERNAL)MutexSem;
    111     AssertPtrReturn(pFastInt, VERR_INVALID_PARAMETER);
    112     AssertMsgReturn(pFastInt->u32Magic == RTSEMFASTMUTEX_MAGIC,
    113                     ("pFastInt->u32Magic=%RX32 pFastInt=%p\n", pFastInt->u32Magic, pFastInt),
    114                     VERR_INVALID_PARAMETER);
     107    PRTSEMFASTMUTEXINTERNAL pThis = hFastMtx;
     108    AssertPtrReturn(pThis, VERR_INVALID_HANDLE);
     109    AssertMsgReturn(pThis->u32Magic == RTSEMFASTMUTEX_MAGIC, ("%p: u32Magic=%RX32\n", pThis, pThis->u32Magic), VERR_INVALID_HANDLE);
    115110
    116     sx_xunlock(&pFastInt->SxLock);
     111    sx_xunlock(&pThis->SxLock);
    117112    return VINF_SUCCESS;
    118113}
Note: See TracChangeset for help on using the changeset viewer.

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