592f4f6a59
...while building LO. Patches from <https://github.com/FirebirdSQL/firebird>'s B3_0_Release branch; to apply, 0002 needed 0001 first (which looks like a reasonable thing to include in itself, anyway), plus a trivial whitespace modification, plus an additional #include for Windows. Change-Id: Idd2e326432fa52762742a168c7e880a9c6fb650c Reviewed-on: https://gerrit.libreoffice.org/33186 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
51 lines
1.4 KiB
Groff
51 lines
1.4 KiB
Groff
From 36a7a2634669075be3294a1d075524a0b6f80962 Mon Sep 17 00:00:00 2001
|
|
From: hvlad <hvlad@users.sourceforge.net>
|
|
Date: Wed, 17 Aug 2016 15:45:30 +0300
|
|
Subject: [PATCH] Avoid hangup in SS when error happens at system attachment
|
|
initialization time
|
|
|
|
---
|
|
src/jrd/cch.cpp | 7 ++++++-
|
|
src/jrd/vio.cpp | 5 +++++
|
|
2 files changed, 11 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/src/jrd/cch.cpp b/src/jrd/cch.cpp
|
|
index 35ea096..643cf4d 100644
|
|
--- a/src/jrd/cch.cpp
|
|
+++ b/src/jrd/cch.cpp
|
|
@@ -2963,10 +2963,15 @@ static THREAD_ENTRY_DECLARE cache_writer(THREAD_ENTRY_PARAM arg)
|
|
iscDbLogStatus(dbb->dbb_filename.c_str(), &status_vector);
|
|
}
|
|
|
|
- bcb->bcb_flags &= ~(BCB_cache_writer | BCB_writer_start);
|
|
+ bcb->bcb_flags &= ~BCB_cache_writer;
|
|
|
|
try
|
|
{
|
|
+ if (bcb->bcb_flags & BCB_writer_start)
|
|
+ {
|
|
+ bcb->bcb_flags &= ~BCB_writer_start;
|
|
+ bcb->bcb_writer_init.release();
|
|
+ }
|
|
bcb->bcb_writer_fini.release();
|
|
}
|
|
catch (const Firebird::Exception& ex)
|
|
diff --git a/src/jrd/vio.cpp b/src/jrd/vio.cpp
|
|
index a8cf0fc..3d35a27 100644
|
|
--- a/src/jrd/vio.cpp
|
|
+++ b/src/jrd/vio.cpp
|
|
@@ -4988,6 +4988,11 @@ static THREAD_ENTRY_DECLARE garbage_collector(THREAD_ENTRY_PARAM arg)
|
|
try
|
|
{
|
|
// Notify the finalization caller that we're finishing.
|
|
+ if (dbb->dbb_flags & DBB_gc_starting)
|
|
+ {
|
|
+ dbb->dbb_flags &= ~DBB_gc_starting;
|
|
+ dbb->dbb_gc_init.release();
|
|
+ }
|
|
dbb->dbb_gc_fini.release();
|
|
}
|
|
catch (const Firebird::Exception& ex)
|
|
--
|
|
2.9.3
|
|
|