rpms/evolution-data-server/devel evolution-data-server-1.8.0-msgport-pipes.patch, NONE, 1.1 evolution-data-server.spec, 1.120, 1.121

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Tue Sep 12 13:48:20 UTC 2006


Author: mbarnes

Update of /cvs/dist/rpms/evolution-data-server/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv8855

Modified Files:
	evolution-data-server.spec 
Added Files:
	evolution-data-server-1.8.0-msgport-pipes.patch 
Log Message:

* Tue Sep 12 2006 Matthew Barnes <mbarnes at redhat.com> - 1.8.0-2.fc6
- Add patch for RH bug #198935.


evolution-data-server-1.8.0-msgport-pipes.patch:
 e-msgport.c |   26 ++++++++++++++++++++++----
 1 files changed, 22 insertions(+), 4 deletions(-)

--- NEW FILE evolution-data-server-1.8.0-msgport-pipes.patch ---
--- evolution-data-server-1.8.0/libedataserver/e-msgport.c.msgport-pipes	2006-09-12 06:25:27.000000000 -0400
+++ evolution-data-server-1.8.0/libedataserver/e-msgport.c	2006-09-12 06:33:17.000000000 -0400
@@ -537,9 +537,11 @@
 	e_dlist_init(&mp->queue);
 	mp->lock = g_mutex_new();
 	mp->cond = g_cond_new();
-	e_pipe (mp->pipe.pipe);
+	mp->pipe.fd.read = -1;
+	mp->pipe.fd.write = -1;
 #ifdef HAVE_NSS
-	e_prpipe (mp->prpipe.pipe);
+	mp->prpipe.fd.read = NULL;
+	mp->prpipe.fd.write = NULL;
 #endif
 	mp->condwait = 0;
 
@@ -566,13 +568,29 @@
 /* get a fd that can be used to wait on the port asynchronously */
 int e_msgport_fd(EMsgPort *mp)
 {
-	return mp->pipe.fd.read;
+	gint fd;
+
+	g_mutex_lock (mp->lock);
+	fd = mp->pipe.fd.read;
+	if (fd < 0 && e_pipe (mp->pipe.pipe) == 0)
+		fd = mp->pipe.fd.read;
+	g_mutex_unlock (mp->lock);
+
+	return fd;
 }
 
 #ifdef HAVE_NSS
 PRFileDesc *e_msgport_prfd(EMsgPort *mp)
 {
-	return mp->prpipe.fd.read;
+	PRFileDesc *prfd;
+
+	g_mutex_lock (mp->lock);
+	prfd = mp->prpipe.fd.read;
+	if (prfd == NULL && e_prpipe (mp->prpipe.pipe) == 0)
+		prfd = mp->prpipe.fd.read;
+	g_mutex_unlock (mp->lock);
+
+	return prfd;
 }
 #endif
 


Index: evolution-data-server.spec
===================================================================
RCS file: /cvs/dist/rpms/evolution-data-server/devel/evolution-data-server.spec,v
retrieving revision 1.120
retrieving revision 1.121
diff -u -r1.120 -r1.121
--- evolution-data-server.spec	5 Sep 2006 03:25:40 -0000	1.120
+++ evolution-data-server.spec	12 Sep 2006 13:48:18 -0000	1.121
@@ -22,7 +22,7 @@
 
 Name: evolution-data-server
 Version: 1.8.0
-Release: 1%{?dist}
+Release: 2%{?dist}
 License: LGPL
 Group: System Environment/Libraries
 Summary: Backend data server for Evolution
@@ -50,6 +50,9 @@
 # Gnome.org bug #353478
 Patch17: evolution-data-server-1.7.92-chain-finalize.patch
 
+# RH bug #198935 / Gnome.org bug #348888
+Patch18: evolution-data-server-1.8.0-msgport-pipes.patch
+
 ### Dependencies ###
 
 Requires: GConf2
@@ -134,6 +137,7 @@
 %patch15 -p1 -b .maybe-fix-crash
 %patch16 -p1 -b .fix-fd-leak
 %patch17 -p1 -b .chain-finalize
+%patch18 -p1 -b .msgport-pipes
 
 mkdir -p krb5-fakeprefix/include
 mkdir -p krb5-fakeprefix/lib
@@ -336,6 +340,9 @@
 %{_libdir}/pkgconfig/libexchange-storage-%{eds_api_version}.pc
 
 %changelog
+* Tue Sep 12 2006 Matthew Barnes <mbarnes at redhat.com> - 1.8.0-2.fc6
+- Add patch for RH bug #198935.
+
 * Mon Sep  4 2006 Matthew Barnes <mbarnes at redhat.com> - 1.8.0-1.fc6
 - Update to 1.8.0
 - Remove evolution-data-server-1.5.4-make_imap4_optional.patch (fixed upstream)




More information about the fedora-cvs-commits mailing list