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.