shut.cpp (Firebird-3.0.2.32703-0.tar.bz2) | : | shut.cpp (Firebird-3.0.4.33054-0.tar.bz2) | ||
---|---|---|---|---|
skipping to change at line 516 | skipping to change at line 516 | |||
break; | break; | |||
case isc_dpb_shut_full: | case isc_dpb_shut_full: | |||
dbb->dbb_ast_flags |= DBB_shutdown | DBB_shutdown_full; | dbb->dbb_ast_flags |= DBB_shutdown | DBB_shutdown_full; | |||
break; | break; | |||
default: | default: | |||
fb_assert(false); | fb_assert(false); | |||
} | } | |||
if (force) | if (force) | |||
{ | { | |||
bool found = false; | JRD_shutdown_attachments(dbb); | |||
for (Jrd::Attachment* attachment = dbb->dbb_attachments; | ||||
attachment; attachment = attachment->att_next) | ||||
{ | ||||
StableAttachmentPart* const sAtt = attachment->getStable( | ||||
); | ||||
MutexLockGuard guard(*(sAtt->getMutex(true)), FB_FUNCTION | ||||
); | ||||
if (!(attachment->att_flags & ATT_shutdown_manager)) | ||||
{ | ||||
if (!(attachment->att_flags & ATT_shutdown)) | ||||
{ | ||||
attachment->signalShutdown(); | ||||
found = true; | ||||
} | ||||
} | ||||
} | ||||
if (found) | ||||
JRD_shutdown_attachments(dbb); | ||||
return true; | return true; | |||
} | } | |||
return false; | return false; | |||
} | } | |||
End of changes. 1 change blocks. | ||||
22 lines changed or deleted | 1 lines changed or added |