From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:53866) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hn3Gl-0003qG-Ok for guix-patches@gnu.org; Mon, 15 Jul 2019 11:52:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hn3Gk-0000Am-QN for guix-patches@gnu.org; Mon, 15 Jul 2019 11:52:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:40000) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hn3Gk-0000Ad-Lv for guix-patches@gnu.org; Mon, 15 Jul 2019 11:52:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hn3Gk-0007Ba-Ia for guix-patches@gnu.org; Mon, 15 Jul 2019 11:52:02 -0400 Subject: [bug#36668] [PATCH 0/1] Add 'eval/container' Resent-Message-ID: From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <20190715142126.14612-1-ludo@gnu.org> Date: Mon, 15 Jul 2019 17:51:21 +0200 In-Reply-To: (David Thompson's message of "Mon, 15 Jul 2019 11:22:44 -0400") Message-ID: <87wogjl2iu.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: "Thompson, David" Cc: 36668@debbugs.gnu.org Hello! "Thompson, David" skribis: > On Mon, Jul 15, 2019 at 10:22 AM Ludovic Court=C3=A8s wrot= e: [...] >> I wonder if we should target =E2=80=98run-in-container=E2=80=99 instead = of >> =E2=80=98call-with-container=E2=80=99, or maybe both. > > I am behind the times. What is special about 'run-in-container'? I actually meant =E2=80=98run-container=E2=80=99, which is the lower-level = procedure that =E2=80=98call-with-container=E2=80=99 invokes: it returns the PID of t= he process that has been created. >> It=E2=80=99s also a bit troubling >> that =E2=80=98eval/container=E2=80=99 returns an exit status instead of = the evaluation >> result, but I think it has to be this way, more or less. > > I haven't looked at your code, but have you considered supporting > return values that can be serialized via 'write' and then using 'read' > on the host side? (Hmm, I wonder how exceptions could be passed from > container to host.) I did that in =E2=80=98container-excursion*=E2=80=99 a while back, but it= =E2=80=99s not generally applicable (there needs to be a read syntax for what=E2=80=99s se= nt), and I think it might be better to build it on top of a more primitive procedure like this =E2=80=98eval/container=E2=80=99. Whether we need something like this will depend on use cases I guess=E2=80= =A6 Thanks for your feedback! Ludo=E2=80=99.