[wayland] Don't use MSG_DONTWAIT in wl_connection_flush.

Adam Jackson ajax at fedoraproject.org
Mon Oct 7 17:48:04 UTC 2013


commit f48a9b801ead6d021c497c6b77a8eb643a656f14
Author: Adam Jackson <ajax at redhat.com>
Date:   Mon Oct 7 13:47:54 2013 -0400

    Don't use MSG_DONTWAIT in wl_connection_flush.

 wayland-1.2.0-blocking-flush.patch |   13 +++++++++++++
 wayland.spec                       |   10 +++++++++-
 2 files changed, 22 insertions(+), 1 deletions(-)
---
diff --git a/wayland-1.2.0-blocking-flush.patch b/wayland-1.2.0-blocking-flush.patch
new file mode 100644
index 0000000..3730de4
--- /dev/null
+++ b/wayland-1.2.0-blocking-flush.patch
@@ -0,0 +1,13 @@
+diff -up wayland-1.2.0/src/connection.c.jx wayland-1.2.0/src/connection.c
+--- wayland-1.2.0/src/connection.c.jx	2013-07-12 21:52:33.000000000 -0400
++++ wayland-1.2.0/src/connection.c	2013-10-07 13:30:40.418925754 -0400
+@@ -283,8 +283,7 @@ wl_connection_flush(struct wl_connection
+ 		msg.msg_flags = 0;
+ 
+ 		do {
+-			len = sendmsg(connection->fd, &msg,
+-				      MSG_NOSIGNAL | MSG_DONTWAIT);
++			len = sendmsg(connection->fd, &msg, MSG_NOSIGNAL);
+ 		} while (len == -1 && errno == EINTR);
+ 
+ 		if (len == -1)
diff --git a/wayland.spec b/wayland.spec
index 1fb0816..36748a9 100644
--- a/wayland.spec
+++ b/wayland.spec
@@ -2,7 +2,7 @@
 
 Name:           wayland
 Version:        1.2.0
-Release:        2%{?gitdate:.%{gitdate}}%{?dist}
+Release:        3%{?gitdate:.%{gitdate}}%{?dist}
 Summary:        Wayland Compositor Infrastructure
 
 Group:          User Interface/X
@@ -14,6 +14,10 @@ Source0:        wayland-%{gitdate}.tar.bz2
 Source0:        http://wayland.freedesktop.org/releases/%{name}-%{version}.tar.xz
 %endif
 Source1:        make-git-snapshot.sh
+# If this code throws -EAGAIN then wl_proxy_marshal can die, and take your
+# Xwayland server (and thus session) with it.  Probably wants to be solved
+# in some other way, but this will do for now.
+Patch0:		wayland-1.2.0-blocking-flush.patch
 
 BuildRequires:  autoconf automake libtool
 BuildRequires:  doxygen
@@ -82,6 +86,7 @@ Headers and symlinks for developing wayland server applications.
 
 %prep
 %setup -q -n %{name}-%{?gitdate:%{gitdate}}%{!?gitdate:%{version}}
+%patch1 -p1 -b .flush
 
 %build
 autoreconf -v --install
@@ -152,6 +157,9 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/pkgconfig/wayland-server.pc
 
 %changelog
+* Mon Oct 07 2013 Adam Jackson <ajax at redhat.com> 1.2.0-3
+- Don't use MSG_DONTWAIT in wl_connection_flush.
+
 * Sun Aug 04 2013 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.2.0-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
 


More information about the scm-commits mailing list