This patch fixes SLiM so it really waits for the X server to be ready before attempting to connect to it. Indeed, the X server notices that its parent process has a handler for SIGUSR1, and consequently sends it SIGUSR1 when it's ready to accept connections. The problem was that SLiM doesn't pay attention to SIGUSR1. So in practice, if X starts slowly, then SLiM gets ECONNREFUSED a couple of time on /tmp/.X11-unix/X0, then goes on trying to connect to localhost:6000, where nobody answers; eventually, it times out and tries again on /tmp/.X11-unix/X0, and finally it shows up on the screen. Patch by L. Courtès. --- slim-1.3.6/app.cpp 2014-02-05 15:27:20.000000000 +0100 +++ slim-1.3.6/app.cpp 2014-02-09 22:42:04.000000000 +0100 @@ -119,7 +119,9 @@ void CatchSignal(int sig) { exit(ERR_EXIT); } +static volatile int got_sigusr1 = 0; void User1Signal(int sig) { + got_sigusr1 = 1; signal(sig, User1Signal); } @@ -884,6 +886,7 @@ int App::WaitForServer() { int ncycles = 120; int cycles; + while (!got_sigusr1); for(cycles = 0; cycles < ncycles; cycles++) { if((Dpy = XOpenDisplay(DisplayName))) { XSetIOErrorHandler(xioerror); 3d45'>refslogtreecommitdiff
path: root/gnu/services/spice.scm
AgeCommit message (Expand)Author
2021-05-06services: spice-vdagent: Clear the socket file prior to starting....This fixes the following issue where spice-vdagent would fail to start if the spice-vdagent-sock socket file already existed: spice-vdagentd: Fatal could not create the server socket /run/spice-vdagentd/spice-vdagent-sock: Error binding to address: Address already in use The requirement is also modified to depend on dbus-system, a cue taken from upstream's own systemd service file (see 'data/spice-vdagentd.service' in the sources). * gnu/services/spice.scm (spice-vdagent-activation): Delete procedure. (spice-vdagent-shepherd-service): Fix indentation. [requirement]: Replace udev by dbus-system. [start]: Ensure the spice-vdagentd run-time directory exists and that the spice-vdagent-sock socket file does *not* exist before forking the daemon. Maxim Cournoyer
2021-05-05services: Fix the spice-vdagent service....* gnu/services/spice.scm (spice-vdagent-activation): Update runtime directory from /var/run/spice-vdagentd to /run/spice-vdagentd. (spice-vdagent-service-type): Specify a default value and fix indentation. Maxim Cournoyer
2020-04-21services: Don't use the deprecated 'make-forkexec-constructor' call....Passing 'make-forkexec-constructor' a string or several string arguments has been deprecated since dmd 0.1. * gnu/services/base.scm (rngd-service-type): In 'start' method, pass a list as the first argument to 'make-forkexec-constructor'. * gnu/services/desktop.scm (bluetooth-shepherd-service): Likewise. * gnu/services/spice.scm (spice-vdagent-shepherd-service): Likewise. Ludovic Courtès
2020-01-26services: Fix typo in spice-vdagent-service....* gnu/services/spice.scm (spice-vdagent-service): Fix typo. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org> Damien Cassou