sthread.h File Reference


Detailed Description

This file contains the Shore Threads API.

Definition in file sthread.h.

Go to the source code of this file.

Classes

class  sthread_base_t
 Base class for sthreads. See timeout_in_ms, timeout_t. More...
class  ThreadFunc
 A callback class for traversing the list of all sthreads. More...
struct  tatas_lock
 A test-and-test-and-set spinlock. More...
struct  w_pthread_lock_t
 Wrapper for pthread mutexes, with a queue-based lock API. More...
struct  occ_rwlock
 A multiple-reader/single-writer lock based on pthreads (blocking). More...
class  sthread_t
 Thread class for all threads that use the Shore Storage Manager. More...

Defines

#define USE_PTHREAD_MUTEX   1
 Determines that we use pthread-based mutex for queue_based_lock_t.

Typedefs

typedef w_pthread_lock_t queue_based_block_lock_t
typedef w_pthread_lock_t queue_based_spin_lock_t
typedef w_pthread_lock_t queue_based_lock_t
typedef w_list_t< sthread_t,
queue_based_lock_t
sthread_list_t

Functions

ostream & operator<< (ostream &o, const sthread_t &t)
void print_timeout (ostream &o, const sthread_base_t::timeout_in_ms timeout)


Define Documentation

#define USE_PTHREAD_MUTEX   1

Determines that we use pthread-based mutex for queue_based_lock_t.

The Shore-MT release contained alternatives for scalable locks in certain places in the storage manager; it was released with these locks replaced by pthreads-based mutexes.

The alternatives were described in [JPHAF1], but have not been tested for the Shore 6.0 release. The code for these alternatives is distributed for further experimentation, but it is not not compiled in.

If you wish to experiment with the mcs locks, you'll have to undefine this macro.

Definition at line 517 of file sthread.h.


Generated on Wed Jul 7 17:22:32 2010 for Shore Storage Manager by  doxygen 1.4.7