From 8dce8181506d2ebd9eb20b9dbb6e2cfb33962d23 Mon Sep 17 00:00:00 2001 From: Artyom Ivanov Date: Tue, 27 Jan 2026 15:57:35 +0300 Subject: [PATCH] fix(attachment): Avoid recursive lock of `Sync` object on worker detach - Do not lock `mainSync` second time, so that `EngineCheckout` can do its job; --- src/jrd/WorkerAttachment.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/jrd/WorkerAttachment.cpp b/src/jrd/WorkerAttachment.cpp index 60f76939db5..ca73c2f3e40 100644 --- a/src/jrd/WorkerAttachment.cpp +++ b/src/jrd/WorkerAttachment.cpp @@ -121,7 +121,8 @@ void WorkerStableAttachment::fini() Database* dbb = attachment->att_database; FbLocalStatus status_vector; - BackgroundContextHolder tdbb(dbb, attachment, &status_vector, FB_FUNCTION); + ThreadContextHolder tdbb(dbb, attachment, &status_vector); + DatabaseContextHolder dbHolder(tdbb); Monitoring::cleanupAttachment(tdbb); dbb->dbb_extManager->closeAttachment(tdbb, attachment);