Manual browser: evthread_lock_callbacks(3)

Section:
Page:
evthread_lock_callbacks(3) Library Functions Manual evthread_lock_callbacks(3)

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.
Wed Apr 10 2013 libevent