Module: RaceGuard::SharedState

Defined in:
lib/race_guard/shared_state.rb,
lib/race_guard/shared_state/watcher.rb,
lib/race_guard/shared_state/mutex_stack.rb,
lib/race_guard/shared_state/trace_point.rb,
lib/race_guard/shared_state/access_event.rb,
lib/race_guard/shared_state/memo_scanner.rb,
lib/race_guard/shared_state/memo_registry.rb,
lib/race_guard/shared_state/conflict_tracker.rb

Defined Under Namespace

Modules: MemoRegistry, MemoScanner, MutexStack, TracePoint, Watcher Classes: AccessEvent, ConflictTracker

Class Method Summary collapse

Class Method Details

.mark_multi_threaded!Object



23
24
25
26
# File 'lib/race_guard/shared_state.rb', line 23

def self.mark_multi_threaded!
  @multi_mutex ||= Mutex.new
  @multi_mutex.synchronize { @multi_threaded = true }
end

.multi_threaded?Boolean

Returns:

  • (Boolean)


28
29
30
31
# File 'lib/race_guard/shared_state.rb', line 28

def self.multi_threaded?
  @multi_mutex ||= Mutex.new
  @multi_mutex.synchronize { @multi_threaded }
end

.reset!Object



16
17
18
19
20
21
# File 'lib/race_guard/shared_state.rb', line 16

def self.reset!
  @multi_mutex ||= Mutex.new
  @multi_mutex.synchronize { @multi_threaded = false }
  Watcher.reset!
  MemoRegistry.reset!
end