Fix backgrounding spicy causes it to freeze (rhbz#1382328)
parent
8177a839b6
commit
62fd231a2e
|
@ -0,0 +1,51 @@
|
|||
From bde4144593197efb4fa5ac993313acc526179f56 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>
|
||||
Date: Thu, 6 Oct 2016 15:46:37 +0400
|
||||
Subject: [PATCH spice-gtk] spicy: only watch stdin if testing org.spice.spicy
|
||||
port
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This fixes starting spicy with a shell in the background with &, spicy
|
||||
would hang in tcsetattr().
|
||||
|
||||
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
||||
Acked-by: Victor Toso <victortoso@redhat.com>
|
||||
---
|
||||
src/spicy.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/spicy.c b/src/spicy.c
|
||||
index a000e09..92de251 100644
|
||||
--- a/src/spicy.c
|
||||
+++ b/src/spicy.c
|
||||
@@ -1409,6 +1409,8 @@ static gboolean input_cb(GIOChannel *gin, GIOCondition condition, gpointer data)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
+static void watch_stdin(void);
|
||||
+
|
||||
static void port_opened(SpiceChannel *channel, GParamSpec *pspec,
|
||||
spice_connection *conn)
|
||||
{
|
||||
@@ -1432,6 +1434,7 @@ static void port_opened(SpiceChannel *channel, GParamSpec *pspec,
|
||||
|
||||
/* handle the first spicy port and connect it to stdin/out */
|
||||
if (g_strcmp0(name, "org.spice.spicy") == 0 && stdin_port == NULL) {
|
||||
+ watch_stdin();
|
||||
stdin_port = port;
|
||||
}
|
||||
} else {
|
||||
@@ -1908,8 +1911,6 @@ int main(int argc, char *argv[])
|
||||
g_free(tls_port);
|
||||
g_free(unix_path);
|
||||
|
||||
- watch_stdin();
|
||||
-
|
||||
connection_connect(conn);
|
||||
if (connections > 0)
|
||||
g_main_loop_run(mainloop);
|
||||
--
|
||||
2.10.0
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
From 89b531ac451f83c8c446d60304f0394a11a481b3 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>
|
||||
Date: Fri, 7 Oct 2016 15:26:49 +0400
|
||||
Subject: [PATCH spice-gtk] spicy: fix reset of terminal when quit
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Only restore the terminal if it was actually saved.
|
||||
|
||||
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
||||
Acked-by: Victor Toso <victortoso@redhat.com>
|
||||
---
|
||||
src/spicy.c | 10 +++++++---
|
||||
1 file changed, 7 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/spicy.c b/src/spicy.c
|
||||
index 92de251..c502428 100644
|
||||
--- a/src/spicy.c
|
||||
+++ b/src/spicy.c
|
||||
@@ -1818,14 +1818,18 @@ static void setup_terminal(gboolean reset)
|
||||
return;
|
||||
|
||||
#ifdef HAVE_TERMIOS_H
|
||||
- static struct termios saved_tios;
|
||||
struct termios tios;
|
||||
+ static struct termios saved_tios;
|
||||
+ static bool saved = false;
|
||||
|
||||
- if (reset)
|
||||
+ if (reset) {
|
||||
+ if (!saved)
|
||||
+ return;
|
||||
tios = saved_tios;
|
||||
- else {
|
||||
+ } else {
|
||||
tcgetattr(stdinfd, &tios);
|
||||
saved_tios = tios;
|
||||
+ saved = true;
|
||||
tios.c_lflag &= ~(ICANON | ECHO);
|
||||
}
|
||||
|
||||
--
|
||||
2.10.0
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
Name: spice-gtk
|
||||
Version: 0.32
|
||||
Release: 3%{?dist}
|
||||
Release: 4%{?dist}
|
||||
Summary: A GTK+ widget for SPICE clients
|
||||
|
||||
Group: System Environment/Libraries
|
||||
|
@ -16,6 +16,8 @@ Patch3: 0003-usb-channel-Really-stop-listening-for-USB-events-on-.patch
|
|||
Patch4: 0004-usb-device-manager-Avoid-USB-event-thread-leak.patch
|
||||
Patch5: 0005-util-fix-off-by-one-array-access.patch
|
||||
Patch6: 0006-spice-widget-init-egl-only-after-first-gl_scanout.patch
|
||||
Patch7: 0007-spicy-only-watch-stdin-if-testing-org.spice.spicy-po.patch
|
||||
Patch8: 0008-spicy-fix-reset-of-terminal-when-quit.patch
|
||||
|
||||
BuildRequires: intltool
|
||||
BuildRequires: usbredir-devel >= 0.5.2
|
||||
|
@ -190,6 +192,9 @@ rm -f %{buildroot}%{_libdir}/*.la
|
|||
%{_bindir}/spicy-stats
|
||||
|
||||
%changelog
|
||||
* Mon Oct 10 2016 Marc-André Lureau <marcandre.lureau@redhat.com> - 0.32-4
|
||||
- Fix backgrounding spicy causes it to freeze (rhbz#1382328)
|
||||
|
||||
* Thu Oct 06 2016 Marc-André Lureau <marcandre.lureau@redhat.com> - 0.32-3
|
||||
- Fix display refresh unless scaling is forced (rhbz#1382325)
|
||||
|
||||
|
|
Loading…
Reference in New Issue