[tog-pegasus] Workaround for Python reinitializion issue

vcrhonek vcrhonek at fedoraproject.org
Mon Jun 3 14:44:26 UTC 2013


commit 576202d055a395cf17dfba156096159b4ce26e22
Author: Vitezslav Crhonek <vcrhonek at redhat.com>
Date:   Mon Jun 3 16:44:01 2013 +0200

    Workaround for Python reinitializion issue

 pegasus-2.12.1-python-reinit-workaround.patch |   23 +++++++++++++++++++++++
 tog-pegasus.spec                              |   10 +++++++++-
 2 files changed, 32 insertions(+), 1 deletions(-)
---
diff --git a/pegasus-2.12.1-python-reinit-workaround.patch b/pegasus-2.12.1-python-reinit-workaround.patch
new file mode 100644
index 0000000..d81eb0c
--- /dev/null
+++ b/pegasus-2.12.1-python-reinit-workaround.patch
@@ -0,0 +1,23 @@
+diff -up pegasus/src/Pegasus/ProviderManagerService/ProviderAgent/ProviderAgent.cpp.test pegasus/src/Pegasus/ProviderManagerService/ProviderAgent/ProviderAgent.cpp
+--- pegasus/src/Pegasus/ProviderManagerService/ProviderAgent/ProviderAgent.cpp.test	2011-08-11 14:12:36.000000000 +0200
++++ pegasus/src/Pegasus/ProviderManagerService/ProviderAgent/ProviderAgent.cpp	2013-05-28 09:50:56.639410167 +0200
+@@ -923,6 +928,19 @@ void ProviderAgent::_unloadIdleProviders
+          PEG_TRACE_CSTRING(TRC_PROVIDERAGENT, Tracer::LEVEL1,
+              "Could not allocate thread to unload idle providers.");
+     }
++
++    // Wait for the cleanup thread to finish
++    Uint64 shutdownTimeout = 0;
++    StringConversion::stringToUnsignedInteger(
++        PEGASUS_DEFAULT_SHUTDOWN_TIMEOUT_SECONDS_STRING,
++        shutdownTimeout);
++
++    while ((_unloadIdleProvidersBusy.get() > 0) && (shutdownTimeout > 0)) {
++        Threads::yield();
++        Threads::sleep(1000);
++        shutdownTimeout--;
++    }
++
+     PEG_METHOD_EXIT();
+ }
+ 
diff --git a/tog-pegasus.spec b/tog-pegasus.spec
index a421239..e083cdc 100644
--- a/tog-pegasus.spec
+++ b/tog-pegasus.spec
@@ -8,7 +8,7 @@
 
 Name:           tog-pegasus
 Version:        %{major_ver}.1
-Release:        3%{?dist}
+Release:        4%{?dist}
 Epoch:          2
 Summary:        OpenPegasus WBEM Services for Linux
 
@@ -80,6 +80,9 @@ Patch25:        pegasus-2.12.0-cimmofl-allow-experimental.patch
 Patch26:        pegasus-2.12.0-schema-version-and-includes.patch
 # 27: patch by D. Marlin, already upstream
 Patch27:        pegasus-2.12.1-atomic-operations-on-arm.patch
+# 28: patch by J. Safranek, bz#958273, upstream bug:
+#     http://bugzilla.openpegasus.org/show_bug.cgi?id=9669
+Patch28:        pegasus-2.12.1-python-reinit-workaround.patch
 
 BuildRequires:  bash, sed, grep, coreutils, procps, gcc, gcc-c++
 BuildRequires:  libstdc++, make, pam-devel
@@ -212,6 +215,7 @@ yes | mak/CreateDmtfSchema 233 %{SOURCE9} cim_schema_2.33.0
 %patch25 -p1 -b .cimmofl-allow-experimental
 %patch26 -p1 -b .schema-version-and-includes
 %patch27 -p0 -b .atomic-operations-on-arm
+%patch28 -p1 -b .test
 
 
 %build
@@ -478,6 +482,10 @@ fi
 
 
 %changelog
+* Mon Jun 03 2013 Vitezslav Crhonek <vcrhonek at redhat.com> - 2:2.12.1-4
+- Workaround for Python reinitializion issue
+  Resolves: #958273
+
 * Tue May 07 2013 Vitezslav Crhonek <vcrhonek at redhat.com> - 2:2.12.1-3
 - Fix atomic operations on ARM (patch by D. Marlin)
   Resolves: #922770


More information about the scm-commits mailing list