[Libreoffice-commits] core.git: external/firebird
Mike Kaganski (via logerrit)
logerrit at kemper.freedesktop.org
Thu Sep 2 06:40:29 UTC 2021
external/firebird/UnpackedTarball_firebird.mk | 1
external/firebird/wnt-per-process-trace-storage.patch.1 | 18 ++++++++++++++++
2 files changed, 19 insertions(+)
New commits:
commit a5bb0e66492118b79da5fef31f8d2bd686947354
Author: Mike Kaganski <mike.kaganski at collabora.com>
AuthorDate: Wed Sep 1 17:08:10 2021 +0200
Commit: Mike Kaganski <mike.kaganski at collabora.com>
CommitDate: Thu Sep 2 08:39:54 2021 +0200
tdf#144172: patch FB to use per-process LOCK directories
As discussed at https://github.com/FirebirdSQL/firebird/pull/6937:
> > But as well, we may just use process id instead of session id in
> > the ConfigStorage::ConfigStorage creating filename. That would be
> > even better, fitting better into our per-process temp dir policy.
> I tend to agree with you here. It looks safe assuming LO uses
> SuperServer only.
Let's not replace the session id with process id, but instead append
process id after session id, to avoid (unlikely?) accidental overlap
of process id and session id, which would produce the same name as
already used by, say, isql tool.
Change-Id: Ibce8a8c75d405aae3e8949e7daf2476accdff22b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121457
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>
diff --git a/external/firebird/UnpackedTarball_firebird.mk b/external/firebird/UnpackedTarball_firebird.mk
index 37234a0a573c..64052570fb2b 100644
--- a/external/firebird/UnpackedTarball_firebird.mk
+++ b/external/firebird/UnpackedTarball_firebird.mk
@@ -44,6 +44,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,firebird,\
external/firebird/0001-Fix-checks-for-null-HANDLE-in-Windows-only-code.patch.1 \
external/firebird/0001-extern-cloop-Missing-dependency-of-BIN_DIR-cloop-on-.patch.1 \
external/firebird/msvc.patch \
+ external/firebird/wnt-per-process-trace-storage.patch.1 \
))
ifeq ($(OS),WNT)
diff --git a/external/firebird/wnt-per-process-trace-storage.patch.1 b/external/firebird/wnt-per-process-trace-storage.patch.1
new file mode 100644
index 000000000000..46af6c5e5c5c
--- /dev/null
+++ b/external/firebird/wnt-per-process-trace-storage.patch.1
@@ -0,0 +1,18 @@
+diff --git a/src/jrd/trace/TraceConfigStorage.cpp b/src/jrd/trace/TraceConfigStorage.cpp
+index 05fce3211ae7..d267713e85de 100644
+--- a/src/jrd/trace/TraceConfigStorage.cpp
++++ b/src/jrd/trace/TraceConfigStorage.cpp
+@@ -103,11 +103,11 @@ ConfigStorage::ConfigStorage()
+ pfnProcessIdToSessionId(GetCurrentProcessId(), &sesID) == 0 ||
+ sesID == 0)
+ {
+- filename.printf(TRACE_FILE); // TODO: it must be per engine instance
++ filename.printf("%s.0.%u", TRACE_FILE, GetCurrentProcessId()); // TODO: it must be per engine instance
+ }
+ else
+ {
+- filename.printf("%s.%u", TRACE_FILE, sesID);
++ filename.printf("%s.%u.%u", TRACE_FILE, sesID, GetCurrentProcessId());
+ }
+ #else
+ filename.printf(TRACE_FILE); // TODO: it must be per engine instance
More information about the Libreoffice-commits
mailing list