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.