Workaround for Python reinitializion issue

This commit is contained in:
Vitezslav Crhonek 2013-06-03 16:44:01 +02:00
parent 71a9ad6a8c
commit 576202d055
2 changed files with 32 additions and 1 deletions

View File

@ -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();
}

View File

@ -8,7 +8,7 @@
Name: tog-pegasus Name: tog-pegasus
Version: %{major_ver}.1 Version: %{major_ver}.1
Release: 3%{?dist} Release: 4%{?dist}
Epoch: 2 Epoch: 2
Summary: OpenPegasus WBEM Services for Linux 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 Patch26: pegasus-2.12.0-schema-version-and-includes.patch
# 27: patch by D. Marlin, already upstream # 27: patch by D. Marlin, already upstream
Patch27: pegasus-2.12.1-atomic-operations-on-arm.patch 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: bash, sed, grep, coreutils, procps, gcc, gcc-c++
BuildRequires: libstdc++, make, pam-devel 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 %patch25 -p1 -b .cimmofl-allow-experimental
%patch26 -p1 -b .schema-version-and-includes %patch26 -p1 -b .schema-version-and-includes
%patch27 -p0 -b .atomic-operations-on-arm %patch27 -p0 -b .atomic-operations-on-arm
%patch28 -p1 -b .test
%build %build
@ -478,6 +482,10 @@ fi
%changelog %changelog
* Mon Jun 03 2013 Vitezslav Crhonek <vcrhonek@redhat.com> - 2:2.12.1-4
- Workaround for Python reinitializion issue
Resolves: #958273
* Tue May 07 2013 Vitezslav Crhonek <vcrhonek@redhat.com> - 2:2.12.1-3 * Tue May 07 2013 Vitezslav Crhonek <vcrhonek@redhat.com> - 2:2.12.1-3
- Fix atomic operations on ARM (patch by D. Marlin) - Fix atomic operations on ARM (patch by D. Marlin)
Resolves: #922770 Resolves: #922770