From 1bd3fa6210743928ca6a92f1d7f14a6d28a66232 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Sat, 4 Mar 2017 09:18:56 +0100 Subject: [PATCH] vlock: fix ENOPATCH MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Thanks, @dtzWill. Signed-off-by: LluĂ­s Batlle i Rossell --- pkgs/misc/screensavers/vlock/eintr.patch | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 pkgs/misc/screensavers/vlock/eintr.patch diff --git a/pkgs/misc/screensavers/vlock/eintr.patch b/pkgs/misc/screensavers/vlock/eintr.patch new file mode 100644 index 000000000000..e33b52228fc3 --- /dev/null +++ b/pkgs/misc/screensavers/vlock/eintr.patch @@ -0,0 +1,22 @@ +In systemd I have seen this error, using it as a service: + +vlock-start[14567]: vlock-new: could not activate new terminal: Interrupted system call + +I think this should fix that. + +diff --git a/modules/new.c b/modules/new.c +index e9b15fb..1f692fd 100644 +--- a/modules/new.c ++++ b/modules/new.c +@@ -103,7 +103,10 @@ static char *get_console_name(int n) + * file descriptor. */ + static int activate_console(int consfd, int vtno) + { +- int c = ioctl(consfd, VT_ACTIVATE, vtno); ++ int c; ++ do { ++ c = ioctl(consfd, VT_ACTIVATE, vtno); ++ } while(c != 0 && errno == EINTR); + + return c < 0 ? c : ioctl(consfd, VT_WAITACTIVE, vtno); + }