Zero  0.1.0
Functions | Variables
lock_raw.cpp File Reference
#include "lock_raw.h"
#include <ctime>
#include <set>
#include "w_okvl_inl.h"
#include "w_debug.h"
#include "critical_section.h"
#include "sm_options.h"
#include "sm_base.h"
#include "log_core.h"
#include "log_lsn_tracker.h"
#include "smthread.h"
#include "lock.h"
#include "xct.h"
#include "restart.h"

Functions

bool is_private_list_consistent (RawXct *xct)
 
template<class T >
void handle_pool (bool &more_work, bool &stop_requested, GcPoolForest< T > *pool, const char *name, uint32_t generation_count, uint32_t free_segment_count, uint32_t max_segment_count, uint32_t init_segment_count, uint32_t segment_size, int &dummy_lsn)
 
std::ostream & operator<< (std::ostream &o, const RawLock &v)
 
std::ostream & operator<< (std::ostream &o, const RawLockQueue &v)
 
std::ostream & operator<< (std::ostream &o, const RawXct &v)
 

Variables

const int HAS_LOSER_COUNT = 999
 
const int NO_LOSER_COUNT = 0
 

Function Documentation

§ handle_pool()

template<class T >
void handle_pool ( bool &  more_work,
bool &  stop_requested,
GcPoolForest< T > *  pool,
const char *  name,
uint32_t  generation_count,
uint32_t  free_segment_count,
uint32_t  max_segment_count,
uint32_t  init_segment_count,
uint32_t  segment_size,
int &  dummy_lsn 
)

Main implementation of run_main(). Templatized to handle both pools. Can't be a class member without putting these dirty details in header file. C++ sucks, though other languages suck more.

§ is_private_list_consistent()

bool is_private_list_consistent ( RawXct xct)

§ operator<<() [1/3]

std::ostream& operator<< ( std::ostream &  o,
const RawLock v 
)

§ operator<<() [2/3]

std::ostream& operator<< ( std::ostream &  o,
const RawLockQueue v 
)

§ operator<<() [3/3]

std::ostream& operator<< ( std::ostream &  o,
const RawXct v 
)

Variable Documentation

§ HAS_LOSER_COUNT

const int HAS_LOSER_COUNT = 999

§ NO_LOSER_COUNT

const int NO_LOSER_COUNT = 0