Galois
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
libgalois/include/galois/runtime/Context.h File Reference
#include <cassert>
#include <cstdlib>
#include <boost/utility.hpp>
#include "galois/config.h"
#include "galois/gIO.h"
#include "galois/MethodFlags.h"
#include "galois/substrate/PtrLock.h"

Go to the source code of this file.

Classes

class  galois::runtime::Lockable
 All objects that may be locked (nodes primarily) must inherit from Lockable. More...
 
class  galois::runtime::LockManagerBase
 
class  galois::runtime::SimpleRuntimeContext
 
struct  galois::runtime::AlwaysLockObj
 
struct  galois::runtime::CheckedLockObj
 

Namespaces

 galois
 The Galois namespace containing all Galois structures and functions.
 
 galois::runtime
 Internal Galois functionality - Use at your own risk.
 

Enumerations

enum  galois::runtime::ConflictFlag { galois::runtime::CONFLICT = -1, galois::runtime::NO_CONFLICT = 0, galois::runtime::REACHED_FAILSAFE = 1, galois::runtime::BREAK = 2 }
 

Functions

void galois::runtime::signalConflict (Lockable *=nullptr)
 
void galois::runtime::signalFailSafe (void)
 
SimpleRuntimeContext * galois::runtime::getThreadContext ()
 get the current conflict detection class, may be null if not in parallel region More...
 
void galois::runtime::setThreadContext (SimpleRuntimeContext *n)
 used by the parallel code to set up conflict detection per thread More...
 
bool galois::runtime::shouldLock (const galois::MethodFlag g)
 Helper function to decide if the conflict detection lock should be taken. More...
 
void galois::runtime::doAcquire (Lockable *lockable, galois::MethodFlag m)
 actual locking function. Will always lock. More...
 
void galois::runtime::acquire (Lockable *lockable, galois::MethodFlag m)
 Master function which handles conflict detection used to acquire a lockable thing. More...
 

Variables

thread_local std::jmp_buf galois::runtime::execFrame