VirtualBox

Ignore:
Timestamp:
Mar 20, 2013 6:17:29 PM (12 years ago)
Author:
vboxsync
Message:

Raw conversion of semrw-lockless-generic.cpp into RTCritSectEx.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/lockvalidator.h

    r44529 r45110  
    569569RTDECL(void) RTLockValidatorRecSharedInit(PRTLOCKVALRECSHRD pRec, RTLOCKVALCLASS hClass, uint32_t uSubClass,
    570570                                          void *hLock, bool fSignaller, bool fEnabled, const char *pszNameFmt, ...);
     571
    571572/**
    572573 * Initialize a lock validator record for a shared lock.
     
    593594RTDECL(void) RTLockValidatorRecSharedInitV(PRTLOCKVALRECSHRD pRec, RTLOCKVALCLASS hClass, uint32_t uSubClass,
    594595                                           void *hLock, bool fSignaller, bool fEnabled, const char *pszNameFmt, va_list va);
     596
    595597/**
    596598 * Uninitialize a lock validator record previously initialized by
     
    600602 */
    601603RTDECL(void) RTLockValidatorRecSharedDelete(PRTLOCKVALRECSHRD pRec);
     604
     605/**
     606 * Create and initialize a lock validator record for a shared lock.
     607 *
     608 * Use RTLockValidatorRecSharedDestroy to deinitialize and destroy the returned
     609 * record.
     610 *
     611 * @returns IPRT status code.
     612 * @param   ppRec               Where to return the record pointer.
     613 * @param   hClass              The class (no reference consumed). If NIL, the
     614 *                              no lock order validation will be performed on
     615 *                              this lock.
     616 * @param   uSubClass           The sub-class.  This is used to define lock
     617 *                              order inside the same class.  If you don't know,
     618 *                              then pass RTLOCKVAL_SUB_CLASS_NONE.
     619 * @param   pvLock              The lock handle or address.
     620 * @param   fSignaller          Set if event semaphore signaller logic should be
     621 *                              applied to this record, clear if read-write
     622 *                              semaphore logic should be used.
     623 * @param   fEnabled            Pass @c false to explicitly disable lock
     624 *                              validation, otherwise @c true.
     625 * @param   pszNameFmt          Name format string for the lock validator,
     626 *                              optional (NULL). Max length is 32 bytes.
     627 * @param   ...                 Format string arguments.
     628 */
     629RTDECL(int) RTLockValidatorRecSharedCreate(PRTLOCKVALRECSHRD *ppRec, RTLOCKVALCLASS hClass, uint32_t uSubClass,
     630                                           void *pvLock, bool fSignaller, bool fEnabled, const char *pszNameFmt, ...);
     631
     632/**
     633 * Create and initialize a lock validator record for a shared lock.
     634 *
     635 * Use RTLockValidatorRecSharedDestroy to deinitialize and destroy the returned
     636 * record.
     637 *
     638 * @returns IPRT status code.
     639 * @param   ppRec               Where to return the record pointer.
     640 * @param   hClass              The class (no reference consumed). If NIL, the
     641 *                              no lock order validation will be performed on
     642 *                              this lock.
     643 * @param   uSubClass           The sub-class.  This is used to define lock
     644 *                              order inside the same class.  If you don't know,
     645 *                              then pass RTLOCKVAL_SUB_CLASS_NONE.
     646 * @param   pvLock              The lock handle or address.
     647 * @param   fSignaller          Set if event semaphore signaller logic should be
     648 *                              applied to this record, clear if read-write
     649 *                              semaphore logic should be used.
     650 * @param   fEnabled            Pass @c false to explicitly disable lock
     651 *                              validation, otherwise @c true.
     652 * @param   pszNameFmt          Name format string for the lock validator,
     653 *                              optional (NULL). Max length is 32 bytes.
     654 * @param   va                  Format string arguments.
     655 */
     656RTDECL(int) RTLockValidatorRecSharedCreateV(PRTLOCKVALRECSHRD *ppRec, RTLOCKVALCLASS hClass, uint32_t uSubClass,
     657                                            void *pvLock, bool fSignaller, bool fEnabled, const char *pszNameFmt, va_list va);
     658
     659/**
     660 * Deinitialize and destroy a record created by RTLockValidatorRecSharedCreate.
     661 *
     662 * @param   ppRec               Pointer to the record pointer.  Will be set to
     663 *                              NULL.
     664 */
     665RTDECL(void) RTLockValidatorRecSharedDestroy(PRTLOCKVALRECSHRD *ppRec);
    602666
    603667/**
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