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/solaris/semfastmutex-r0drv-solaris.c

    r22073 r25722  
    6161
    6262
    63 RTDECL(int)  RTSemFastMutexCreate(PRTSEMFASTMUTEX pMutexSem)
     63RTDECL(int)  RTSemFastMutexCreate(PRTSEMFASTMUTEX phFastMtx)
    6464{
    6565    AssertCompile(sizeof(RTSEMFASTMUTEXINTERNAL) > sizeof(void *));
    66     AssertPtrReturn(pMutexSem, VERR_INVALID_POINTER);
     66    AssertPtrReturn(phFastMtx, VERR_INVALID_POINTER);
    6767    RT_ASSERT_PREEMPTIBLE();
    6868
    69     PRTSEMFASTMUTEXINTERNAL pFastInt = (PRTSEMFASTMUTEXINTERNAL)RTMemAlloc(sizeof(*pFastInt));
    70     if (pFastInt)
     69    PRTSEMFASTMUTEXINTERNAL pThis = (PRTSEMFASTMUTEXINTERNAL)RTMemAlloc(sizeof(*pThis));
     70    if (pThis)
    7171    {
    72         pFastInt->u32Magic = RTSEMFASTMUTEX_MAGIC;
    73         rw_init (&pFastInt->Mtx, "RWLOCK", RW_DRIVER, NULL);
    74         *pMutexSem = pFastInt;
     72        pThis->u32Magic = RTSEMFASTMUTEX_MAGIC;
     73        rw_init (&pThis->Mtx, "RWLOCK", RW_DRIVER, NULL);
     74
     75        *phFastMtx = pThis;
    7576        return VINF_SUCCESS;
    7677    }
     
    7980
    8081
    81 RTDECL(int)  RTSemFastMutexDestroy(RTSEMFASTMUTEX MutexSem)
     82RTDECL(int)  RTSemFastMutexDestroy(RTSEMFASTMUTEX hFastMtx)
    8283{
    83     if (MutexSem == NIL_RTSEMFASTMUTEX)
    84         return VERR_INVALID_PARAMETER;
    85     PRTSEMFASTMUTEXINTERNAL pFastInt = (PRTSEMFASTMUTEXINTERNAL)MutexSem;
    86     AssertPtrReturn(pFastInt, VERR_INVALID_PARAMETER);
    87     AssertMsgReturn(pFastInt->u32Magic == RTSEMFASTMUTEX_MAGIC,
    88                     ("pFastInt->u32Magic=%RX32 pFastInt=%p\n", pFastInt->u32Magic, pFastInt),
    89                     VERR_INVALID_PARAMETER);
     84    PRTSEMFASTMUTEXINTERNAL pThis = hFastMtx;
     85    if (pThis == NIL_RTSEMFASTMUTEX)
     86        return VINF_SUCCESS;
     87    AssertPtrReturn(pThis, VERR_INVALID_HANDLE);
     88    AssertMsgReturn(pThis->u32Magic == RTSEMFASTMUTEX_MAGIC, ("%p: u32Magic=%RX32\n", pThis, pThis->u32Magic), VERR_INVALID_HANDLE);
    9089    RT_ASSERT_INTS_ON();
    9190
    92     ASMAtomicXchgU32(&pFastInt->u32Magic, RTSEMFASTMUTEX_MAGIC_DEAD);
    93     rw_destroy(&pFastInt->Mtx);
    94     RTMemFree(pFastInt);
     91    ASMAtomicXchgU32(&pThis->u32Magic, RTSEMFASTMUTEX_MAGIC_DEAD);
     92    rw_destroy(&pThis->Mtx);
     93    RTMemFree(pThis);
    9594
    9695    return VINF_SUCCESS;
     
    9897
    9998
    100 RTDECL(int)  RTSemFastMutexRequest(RTSEMFASTMUTEX MutexSem)
     99RTDECL(int)  RTSemFastMutexRequest(RTSEMFASTMUTEX hFastMtx)
    101100{
    102     PRTSEMFASTMUTEXINTERNAL pFastInt = (PRTSEMFASTMUTEXINTERNAL)MutexSem;
    103     AssertPtrReturn(pFastInt, VERR_INVALID_PARAMETER);
    104     AssertMsgReturn(pFastInt->u32Magic == RTSEMFASTMUTEX_MAGIC,
    105                     ("pFastInt->u32Magic=%RX32 pFastInt=%p\n", pFastInt->u32Magic, pFastInt),
    106                     VERR_INVALID_PARAMETER);
     101    PRTSEMFASTMUTEXINTERNAL pThis = hFastMtx;
     102    AssertPtrReturn(pThis, VERR_INVALID_HANDLE);
     103    AssertMsgReturn(pThis->u32Magic == RTSEMFASTMUTEX_MAGIC, ("%p: u32Magic=%RX32\n", pThis, pThis->u32Magic), VERR_INVALID_HANDLE);
    107104    RT_ASSERT_PREEMPTIBLE();
    108105
    109     rw_enter(&pFastInt->Mtx, RW_WRITER);
     106    rw_enter(&pThis->Mtx, RW_WRITER);
    110107    return VINF_SUCCESS;
    111108}
    112109
    113110
    114 RTDECL(int)  RTSemFastMutexRelease(RTSEMFASTMUTEX MutexSem)
     111RTDECL(int)  RTSemFastMutexRelease(RTSEMFASTMUTEX hFastMtx)
    115112{
    116     PRTSEMFASTMUTEXINTERNAL pFastInt = (PRTSEMFASTMUTEXINTERNAL)MutexSem;
    117     AssertPtrReturn(pFastInt, VERR_INVALID_PARAMETER);
    118     AssertMsgReturn(pFastInt->u32Magic == RTSEMFASTMUTEX_MAGIC,
    119                     ("pFastInt->u32Magic=%RX32 pFastInt=%p\n", pFastInt->u32Magic, pFastInt),
    120                     VERR_INVALID_PARAMETER);
     113    PRTSEMFASTMUTEXINTERNAL pThis = hFastMtx;
     114    AssertPtrReturn(pThis, VERR_INVALID_HANDLE);
     115    AssertMsgReturn(pThis->u32Magic == RTSEMFASTMUTEX_MAGIC, ("%p: u32Magic=%RX32\n", pThis, pThis->u32Magic), VERR_INVALID_HANDLE);
    121116    RT_ASSERT_INTS_ON();
    122117
    123     rw_exit(&pFastInt->Mtx);
     118    rw_exit(&pThis->Mtx);
    124119    return VINF_SUCCESS;
    125120}
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