guix-devel/guix/scripts
Ludovic Courtès c20d4cac1f
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'.
2019-04-29 21:54:10 +02:00
..
container
import import: opam: Add recursive option. 2019-01-07 22:05:43 +01:00
system
archive.scm Avoid name clash with 'build' from (guix store) and (guix status). 2019-02-11 23:23:28 +01:00
authenticate.scm
build.scm guix build: Accept multiple '-s' options. 2019-04-19 17:46:40 +02:00
challenge.scm store: Rename '&nix-error' to '&store-error'. 2019-01-21 23:09:55 +01:00
container.scm
copy.scm Avoid name clash with 'build' from (guix store) and (guix status). 2019-02-11 23:23:28 +01:00
describe.scm describe: Provide a hint when origin detection fails. 2019-04-28 22:57:06 +02:00
download.scm scripts: Fix typo. 2019-01-17 17:58:35 +01:00
edit.scm edit: Use 'specification->location' to read information from the cache. 2019-01-15 20:24:09 +01:00
environment.scm scripts: More commands default to verbosity level 1. 2019-04-04 17:47:02 +02:00
gc.scm guix gc: '-d' does not attempt to delete non-user-owned roots. 2019-04-11 18:18:13 +02:00
graph.scm graph: Factorize calls to 'fold-packages'. 2019-03-23 18:15:36 +01:00
hash.scm guix hash: Fix version and help messages 2018-11-28 10:39:58 +01:00
import.scm
install.scm guix package: Add 'install', 'remove', and 'upgrade' aliases. 2019-04-29 10:13:44 +02:00
lint.scm lint: 'check-github-url' uses our own 'open-connection-for-uri'. 2019-04-18 17:43:56 +02:00
offload.scm offload: 'status' reports the time difference. 2019-01-22 23:04:05 +01:00
pack.scm scripts: More commands default to verbosity level 1. 2019-04-04 17:47:02 +02:00
package.scm guix package: Add 'install', 'remove', and 'upgrade' aliases. 2019-04-29 10:13:44 +02:00
perform-download.scm
processes.scm processes: Gracefully handle daemons without clients. 2019-04-29 21:54:10 +02:00
publish.scm publish: Add a 'Cache-Control' header on /nar responses. 2018-12-17 23:33:42 +01:00
pull.scm pull: Create profile after the store connection has been opened. 2019-04-22 12:01:32 +02:00
refresh.scm refresh: Update the source code URL. 2019-03-27 14:59:42 +01:00
remove.scm guix package: Add 'install', 'remove', and 'upgrade' aliases. 2019-04-29 10:13:44 +02:00
repl.scm repl: Load user's initialization file. 2018-12-03 08:04:51 +03:00
search.scm guix package: Add 'guix search' alias. 2019-04-29 12:19:24 +02:00
size.scm size: Optimize dependency size computation. 2019-04-07 11:36:00 +02:00
substitute.scm Remove most uses of the _IO*F constants. 2019-01-09 14:47:53 +01:00
system.scm guix system: Compute 'bootcfg' only for 'init' and 'reconfigure'. 2019-04-23 23:44:35 +02:00
upgrade.scm guix package: Add 'install', 'remove', and 'upgrade' aliases. 2019-04-29 10:13:44 +02:00
weather.scm weather: Add '--coverage'. 2019-01-25 14:06:37 +01:00