Hello community, here is the log from the commit of package xorg-x11 for openSUSE:Factory checked in at Thu Aug 25 10:03:48 CEST 2011. -------- --- xorg-x11/xorg-x11.changes 2011-08-08 14:49:22.000000000 +0200 +++ /mounts/work_src_done/STABLE/xorg-x11/xorg-x11.changes 2011-08-24 16:00:17.000000000 +0200 @@ -6,0 +7,9 @@ +Wed Jun 8 08:30:05 UTC 2011 - eich@suse.de + +- add u_luit-Set-up-terminal-before-fork.diff: + Set up terminal before fork. + An older version of this patch was dropped as + it didn't apply any more. + This patch is to be upstreamed. + +------------------------------------------------------------------- calling whatdependson for head-i586 New: ---- u_luit-Set-up-terminal-before-fork.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xorg-x11.spec ++++++ --- /var/tmp/diff_new_pack.tC1VUT/_old 2011-08-25 09:46:48.000000000 +0200 +++ /var/tmp/diff_new_pack.tC1VUT/_new 2011-08-25 09:46:48.000000000 +0200 @@ -34,7 +34,7 @@ BuildRequires: bison Url: http://xorg.freedesktop.org/ Version: 7.6 -Release: 57 +Release: 59 License: MIT License (or similar) BuildRoot: %{_tmppath}/%{name}-%{version}-build Group: System/X11/Utilities @@ -164,6 +164,7 @@ Patch66: xinit-suse.diff Patch67: xinit-tolerant-hostname-changes.diff Patch69: xrdb-traditional-cpp.diff +Patch70: u_luit-Set-up-terminal-before-fork.diff Patch674733: xrdb-Create-shell-escape-safe-cpp-options-in-the-non-path-bnc674733.patch %description @@ -299,6 +300,9 @@ ln lisp/README .doc/xedit/lisp.README ln lisp/re/README .doc/xedit/re.README popd +pushd luit-* +%patch70 -p1 +popd %build ++++++ u_luit-Set-up-terminal-before-fork.diff ++++++
From 6b1da100f2984701f181f5d2635ffcff06db9be1 Mon Sep 17 00:00:00 2001 From: Mike Fabian <mike.fabian@gmx.de> Date: Tue, 7 Jun 2011 13:42:00 +0200 Subject: [PATCH] Set up terminal before fork. Patch-mainline: To be submitted.
After the fork it is undefined wether parent or child runs first. So there can be a race: if the child runs before the terminal of the parent is set up correctly luit may hang. This patch sets up the terminal before forking and undoes the settings in the child. Signed-off-by: Egbert Eich <eich@freedesktop.org> --- luit.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/luit.c b/luit.c index 6bd8775..c2a011c 100644 --- a/luit.c +++ b/luit.c @@ -577,6 +577,8 @@ condom(int argc, char **argv) IGNORE_RC(pipe(c2p_waitpipe)); } + setup_io(pty); + pid = fork(); if (pid < 0) { perror("Couldn't fork"); @@ -584,6 +586,10 @@ condom(int argc, char **argv) } if (pid == 0) { +#ifdef SIGWINCH + installHandler(SIGWINCH, SIG_DFL); +#endif + installHandler(SIGCHLD, SIG_DFL); close(pty); if (pipe_option) { close_waitpipe(1); @@ -661,7 +667,6 @@ parent(int pid GCC_UNUSED, int pty) if (verbose) { reportIso2022(outputState); } - setup_io(pty); if (pipe_option) { write_waitpipe(p2c_waitpipe); -- 1.7.3.4 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org