Quick Links:

bal | bbl | bdl | bsl

Public Types | Public Member Functions

bslmt::Mutex Class Reference

#include <bslmt_mutex.h>

List of all members.

Public Types

typedef MutexImpl
< Platform::ThreadPolicy >
::NativeType 
NativeType

Public Member Functions

 Mutex ()
 ~Mutex ()
void lock ()
NativeTypenativeMutex ()
int tryLock ()
void unlock ()

Detailed Description

This class implements a lightweight, portable wrapper of an OS-level mutex lock to support intra-process synchronization. The behavior is undefined if the lock method of this class is invoked more than once on the same mutex object in the same thread without an intervening call to unLock.

See Component bslmt_mutex


Member Typedef Documentation

typedef MutexImpl<Platform::ThreadPolicy>::NativeType bslmt::Mutex::NativeType

Constructor & Destructor Documentation

bslmt::Mutex::Mutex (  ) 

Create a mutex object in the unlocked state.

bslmt::Mutex::~Mutex (  ) 

Destroy this mutex object. The behavior is undefined if the mutex is in a locked state.


Member Function Documentation

void bslmt::Mutex::lock (  ) 

Acquire a lock on this mutex object. If this object is currently locked by a different thread, then suspend execution of the current thread until a lock can be acquired. The behavior is undefined if the calling thread already owns the lock on this mutex, and may result in deadlock.

NativeType& bslmt::Mutex::nativeMutex (  ) 

Return a reference to the modifiable OS-level mutex underlying this object. This method is intended only to support other bslmt components that must operate directly on this mutex.

int bslmt::Mutex::tryLock (  ) 

Attempt to acquire a lock on this mutex object. Return 0 on success, and a non-zero value if this object is already locked by a different thread. The behavior is undefined if the calling thread already owns the lock on this mutex, and may result in deadlock.

void bslmt::Mutex::unlock (  ) 

Release a lock on this mutex that was previously acquired through a call to lock, or a successful call to tryLock, enabling another thread to acquire a lock on this mutex. The behavior is undefined unless the calling thread currently owns the lock on this mutex.


The documentation for this class was generated from the following file: