Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


evthread_lock_callbacks(3)                            Library Functions Manual



NAME
       evthread_lock_callbacks - This structure describes the interface a
       threading library uses for locking.


SYNOPSIS
       #include <thread.h>

   Data Fields
       void *(* alloc )(unsigned locktype)
           Function to allocate and initialize new lock of type 'locktype'.
       void(* free )(void *lock, unsigned locktype)
           Funtion to release all storage held in 'lock', which was created
           with type 'locktype'.
       int(* lock )(unsigned mode, void *lock)
           Acquire an already-allocated lock at 'lock' with mode 'mode'.
       int lock_api_version
           The current version of the locking API.
       unsigned supported_locktypes
           Which kinds of locks does this version of the locking API support?
           A bitfield of EVTHREAD_LOCKTYPE_RECURSIVE and
           EVTHREAD_LOCKTYPE_READWRITE.
       int(* unlock )(unsigned mode, void *lock)
           Release a lock at 'lock' using mode 'mode'.

Detailed Description
       This structure describes the interface a threading library uses for
       locking.

       It's used to tell evthread_set_lock_callbacks() how to use locking on
       this platform.

Field Documentation
   void*(* evthread_lock_callbacks::alloc) (unsigned locktype)
       Function to allocate and initialize new lock of type 'locktype'.
       Returns NULL on failure.

   void(* evthread_lock_callbacks::free) (void *lock, unsigned locktype)
       Funtion to release all storage held in 'lock', which was created with
       type 'locktype'.

   int(* evthread_lock_callbacks::lock) (unsigned mode, void *lock)
       Acquire an already-allocated lock at 'lock' with mode 'mode'. Returns 0
       on success, and nonzero on failure.

   int evthread_lock_callbacks::lock_api_version
       The current version of the locking API. Set this to
       EVTHREAD_LOCK_API_VERSION

   unsigned evthread_lock_callbacks::supported_locktypes
       Which kinds of locks does this version of the locking API support? A
       bitfield of EVTHREAD_LOCKTYPE_RECURSIVE and
       EVTHREAD_LOCKTYPE_READWRITE. (Note that RECURSIVE locks are currently
       mandatory, and READWRITE locks are not currently used.)

   int(* evthread_lock_callbacks::unlock) (unsigned mode, void *lock)
       Release a lock at 'lock' using mode 'mode'. Returns 0 on success, and
       nonzero on failure.


Author
       Generated automatically by Doxygen for libevent from the source code.



libevent                        Tue Jan 31 2017     evthread_lock_callbacks(3)