Skip to content

Commit

Permalink
vlock: fix ENOPATCH
Browse files Browse the repository at this point in the history
Thanks, @dtzWill.

Signed-off-by: Lluís Batlle i Rossell <viric@viric.name>
  • Loading branch information
viric committed Mar 4, 2017
1 parent da3c0ac commit 1bd3fa6
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions 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);
}

0 comments on commit 1bd3fa6

Please sign in to comment.