MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / shutdown

Method shutdown

src/jrd/replication/Manager.cpp:196–228  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

194}
195
196void Manager::shutdown()
197{
198 if (m_shutdown)
199 return;
200
201 m_shutdown = true;
202
203 m_workingSemaphore.release();
204 m_cleanupSemaphore.enter();
205
206 MutexLockGuard guard(m_queueMutex, FB_FUNCTION);
207
208 // Clear the processing queue
209
210 for (auto buffer : m_queue)
211 {
212 if (buffer)
213 releaseBuffer(buffer);
214 }
215
216 m_queue.clear();
217
218 // Detach from synchronous replicas
219
220 for (auto iter : m_replicas)
221 {
222 iter->replicator->release();
223 iter->attachment->release();
224 delete iter;
225 }
226
227 m_replicas.clear();
228}
229
230UCharBuffer* Manager::getBuffer()
231{

Callers

nothing calls this directly

Calls 3

releaseMethod · 0.45
enterMethod · 0.45
clearMethod · 0.45

Tested by

no test coverage detected