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

Method pauseSessionProcedure

src/jrd/ProfilerManager.cpp:277–295  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

275}
276
277IExternalResultSet* ProfilerPackage::pauseSessionProcedure(ThrowStatusExceptionWrapper* /*status*/,
278 IExternalContext* context, const PauseSessionInput::Type* in, void* out)
279{
280 const auto tdbb = JRD_get_thread_data();
281 const auto attachment = tdbb->getAttachment();
282
283 if (!in->attachmentIdNull && AttNumber(in->attachmentId) != attachment->att_attachment_id)
284 {
285 ProfilerIpc ipc(tdbb, *getDefaultMemoryPool(), in->attachmentId);
286 ipc.send(tdbb, ProfilerIpc::Tag::PAUSE_SESSION, in);
287 return nullptr;
288 }
289
290 const auto profilerManager = attachment->getProfilerManager(tdbb);
291
292 profilerManager->pauseSession(in->flush);
293
294 return nullptr;
295}
296
297IExternalResultSet* ProfilerPackage::resumeSessionProcedure(ThrowStatusExceptionWrapper* /*status*/,
298 IExternalContext* context, const ResumeSessionInput::Type* in, void* out)

Callers

nothing calls this directly

Calls 6

JRD_get_thread_dataFunction · 0.85
getDefaultMemoryPoolFunction · 0.85
getProfilerManagerMethod · 0.80
pauseSessionMethod · 0.80
getAttachmentMethod · 0.45
sendMethod · 0.45

Tested by

no test coverage detected