[CGSI-gSOAP] Backported fix for multithreading

Alejandro Alvarez aalvarez at fedoraproject.org
Wed Jul 2 10:40:55 UTC 2014


commit 59cea90cd23cee8d5d77e7912c9bdfd66a6a47e4
Author: Alejandro Alvarez Ayllon <aalvarez at cern.ch>
Date:   Wed Jul 2 12:33:11 2014 +0200

    Backported fix for multithreading

 CGSI-gSOAP-module-loading.patch |   26 ++++++++++++++++++++++++++
 CGSI-gSOAP.spec                 |    9 ++++++++-
 2 files changed, 34 insertions(+), 1 deletions(-)
---
diff --git a/CGSI-gSOAP-module-loading.patch b/CGSI-gSOAP-module-loading.patch
new file mode 100644
index 0000000..f0e34ca
--- /dev/null
+++ b/CGSI-gSOAP-module-loading.patch
@@ -0,0 +1,26 @@
+diff --git a/src/cgsi_plugin.c b/src/cgsi_plugin.c
+index cb94cc1..f1cc03d 100755
+--- a/src/cgsi_plugin.c
++++ b/src/cgsi_plugin.c
+@@ -35,6 +35,7 @@
+ #include <openssl/err.h>
+ #include "gssapi_openssl.h"
+ #include "globus_gsi_credential.h"
++
+ #if defined(USE_VOMS)
+ #ifdef __cplusplus
+ extern "C" {
+@@ -91,6 +92,12 @@ static gss_buffer_t buffer_consume_upto(gss_buffer_t buf, size_t offset);
+ static gss_buffer_t buffer_copy_from(gss_buffer_t dest, gss_buffer_t src, size_t offset);
+ 
+ 
++__attribute__((constructor))
++static void globus_setup(void)
++{
++    cgsi_plugin_globus_modules(1);
++}
++
+ /******************************************************************************/
+ /* Plugin constructor            */
+ /* Defaults to client in case nothing is specified                            */
+
diff --git a/CGSI-gSOAP.spec b/CGSI-gSOAP.spec
index dbc2392..baffa5d 100644
--- a/CGSI-gSOAP.spec
+++ b/CGSI-gSOAP.spec
@@ -2,7 +2,7 @@
 
 Name:		CGSI-gSOAP
 Version:	1.3.6
-Release:	3%{?dist}
+Release:	4%{?dist}
 Summary:	GSI plugin for gSOAP
 
 Group:		System Environment/Libraries
@@ -15,6 +15,9 @@ Source0:	%{name}-%{version}.tar.gz
 Patch0:		%{name}-library-linking.patch
 #		Fix broken man page
 Patch1:		%{name}-doxygen.patch
+# Fix for multithreading
+# https://its.cern.ch/jira/browse/LCGUTIL-55
+Patch2:		%{name}-module-loading.patch
 BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildRequires:	globus-gss-assist-devel
@@ -41,6 +44,7 @@ plugins.
 %setup -q
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 
 # Fix bad permissions (which otherwise end up in the debuginfo package)
 find . '(' -name '*.h' -o -name '*.c' -o -name '*.cpp' -o -name '*.cc' ')' \
@@ -105,6 +109,9 @@ rm -rf %{buildroot}
 %doc %{_mandir}/man*/*
 
 %changelog
+* Wed Jul 02 2014 Alejandro Alvarez Ayllon <aalvarez at cern.ch> - 1.3.6-4
+- Backported fix for multithreading
+
 * Fri Jun 27 2014 Mattias Ellert <mattias.ellert at fysast.uu.se> - 1.3.6-3
 - Fix broken man page
 


More information about the scm-commits mailing list