MCPcopy Create free account
hub / github.com/Gecode/gecode / run

Method run

gecode/support/thread/thread.cpp:97–112  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

95 public:
96 GlobalMutexRunnable(void) : _to_acquire(nullptr), _to_release(nullptr) {}
97 virtual void run(void) {
98 while (true) {
99 _m.acquire();
100 if (_to_acquire) {
101 _to_acquire->acquire();
102 _to_acquire = nullptr;
103 _e_done.signal();
104 } else if (_to_release) {
105 _to_release->release();
106 _to_release = nullptr;
107 _e_done.signal();
108 }
109 _m.release();
110 _e.wait();
111 }
112 }
113 void acquire(Mutex* m) {
114 _m_write.acquire();
115 _m.acquire();

Callers 1

execMethod · 0.45

Calls 4

acquireMethod · 0.45
signalMethod · 0.45
releaseMethod · 0.45
waitMethod · 0.45

Tested by

no test coverage detected