xref: /minix3/external/bsd/libevent/man/evthread_lock_callbacks.3 (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
"evthread_lock_callbacks" 3 "Tue Jan 27 2015" "libevent" \" -*- nroff -*-
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.