summary refs log tree commit diff
path: root/etc/guix-daemon.cil.in
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-04-29 21:42:04 +0200
committerLudovic Courtès <ludo@gnu.org>2019-04-29 21:54:10 +0200
commitc20d4cac1fb72afe26a3e534b92e9a9691936458 (patch)
tree01bf7a57b8ea8dd7a9ec6aa26b3020aeb0274ecb /etc/guix-daemon.cil.in
parentc21d912a027056c30ee86c1ce021322e89f474c3 (diff)
downloadguix-c20d4cac1fb72afe26a3e534b92e9a9691936458.tar.gz
processes: Gracefully handle daemons without clients.
Fixes <https://bugs.gnu.org/34716>.
Reported by Mark H Weaver <mhw@netris.org>.

The problem could be reproduced by running, on one hand:

  sh -c 'exec -a guix-daemon sleep 777'

and on the other hand:

  guix processes

If there is no process with PID 777, 'guix processes' would barf as it
stumbles upon a <daemon-session> record whose client is #f.

* guix/scripts/processes.scm (daemon-sessions)[child-process->session]:
New procedure, with lambda formerly passed to 'map'.  Handle #f returns
from 'lookup-process'.
Call 'child-process->session' within 'filter-map', not just 'map'.
Diffstat (limited to 'etc/guix-daemon.cil.in')
0 files changed, 0 insertions, 0 deletions