atomic_thread_map_t Class Reference

Inherits sm_thread_map_t.

Collaboration diagram for atomic_thread_map_t:

Collaboration graph
[legend]
List of all members.

Detailed Description

Fingerprint for this smthread.

Each smthread_t has a fingerprint. This is used by the deadlock detector. The fingerprint is a bitmap; each thread's bitmap is unique, the deadlock detector ORs fingerprints together to make a "digest" of the waits-for-map. Rather than have fingerprints associated with transactions, we associate them with threads.

This class provides synchronization (protection) for updating the map.

Note:
: If you want to be sure the fingerprints are unique, for the purpose of minimizing false-positives in the lock manager's deadlock detector, look at the code in smthread_t::_initialize_fingerprint(), where you can enable some debugging code.

Definition at line 138 of file smthread.h.

Public Member Functions

bool has_reader () const
bool has_writer () const
void lock_for_read () const
void lock_for_write ()
void unlock_reader () const
void unlock_writer ()
 atomic_thread_map_t ()
 ~atomic_thread_map_t ()
atomic_thread_map_toperator= (const atomic_thread_map_t &other)


The documentation for this class was generated from the following file:
Generated on Wed Jul 7 17:22:42 2010 for Shore Storage Manager by  doxygen 1.4.7