container: Gracefully report mount errors in the child process.
authorLudovic Courtès <ludo@gnu.org>
Mon, 30 May 2016 20:44:58 +0000 (22:44 +0200)
committerLudovic Courtès <ludo@gnu.org>
Mon, 30 May 2016 22:11:04 +0000 (00:11 +0200)
commitc06f6db7a424fd47e3cd2625dbfda2367316f3bd
tree025d18dd2ed6d4f6a62cc09aa9633161c7d7edc8
parent4c14d4eaa7ee9d5d89c04a41adb50c7c532d14e1
container: Gracefully report mount errors in the child process.

Fixes <http://bugs.gnu.org/23306>.

* gnu/build/linux-container.scm (run-container): Use 'socketpair'
instead of 'pipe'.  Rename 'in' to 'child' and 'out' to 'parent'.  Send
a 'ready message or an exception argument list from the child to the
parent; adjust the parent accordingly.
* tests/containers.scm ("call-with-container, mnt namespace, wrong bind
mount"): New test.
* tests/guix-environment-container.sh: Add test with
--expose=/does-not-exist.
gnu/build/linux-container.scm
tests/containers.scm
tests/guix-environment-container.sh