<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix.git/guix/scripts/processes.scm, branch master</title>
<subtitle>Personal branch of https://git.savannah.gnu.org/cgit/guix.git/ for implementing 'guix deploy'.
</subtitle>
<id>https://www.git.jakob.space/guix.git/atom?h=master</id>
<link rel='self' href='https://www.git.jakob.space/guix.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/'/>
<updated>2019-04-29T19:54:10Z</updated>
<entry>
<title>processes: Gracefully handle daemons without clients.</title>
<updated>2019-04-29T19:54:10Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-04-29T19:42:04Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=c20d4cac1fb72afe26a3e534b92e9a9691936458'/>
<id>urn:sha1:c20d4cac1fb72afe26a3e534b92e9a9691936458</id>
<content type='text'>
Fixes &lt;https://bugs.gnu.org/34716&gt;.
Reported by Mark H Weaver &lt;mhw@netris.org&gt;.

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 &lt;daemon-session&gt; record whose client is #f.

* guix/scripts/processes.scm (daemon-sessions)[child-process-&gt;session]:
New procedure, with lambda formerly passed to 'map'.  Handle #f returns
from 'lookup-process'.
Call 'child-process-&gt;session' within 'filter-map', not just 'map'.
</content>
</entry>
<entry>
<title>processes: 'process-open-files' ignores disappeared /proc/PID/fd entries.</title>
<updated>2019-04-29T19:39:38Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-04-29T19:39:38Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=c21d912a027056c30ee86c1ce021322e89f474c3'/>
<id>urn:sha1:c21d912a027056c30ee86c1ce021322e89f474c3</id>
<content type='text'>
Previously, 'process-open-files' would throw ENOENT if an entry had
vanished after the 'scandir' call and before the 'readlink' call.

* guix/scripts/processes.scm (process-open-files): Catch ENOENT errors
from 'readlink'.
</content>
</entry>
<entry>
<title>Add 'guix processes'.</title>
<updated>2018-10-28T23:13:38Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-10-26T09:20:08Z</published>
<link rel='alternate' type='text/html' href='https://www.git.jakob.space/guix.git/commit/?id=63eb2b899be7ac857454442e09d0ebd23fe4f871'/>
<id>urn:sha1:63eb2b899be7ac857454442e09d0ebd23fe4f871</id>
<content type='text'>
* guix/scripts/processes.scm, tests/processes.scm: New files.
* Makefile.am (MODULES): Add the former.
(SCM_TESTS): Add the latter.
* po/guix/POTFILES.in: Add guix/scripts/processes.scm.
* doc/guix.texi (Invoking guix processes): New node.
(Invoking guix-daemon): Reference it.
</content>
</entry>
</feed>
