From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mathieu Lirzin Subject: Re: [GSoC] Development of Cuirass. Date: Mon, 20 Mar 2017 23:47:30 +0100 Message-ID: <87d1dby399.fsf@gnu.org> References: <87tw6yim7o.fsf@gnu.org> <87d1dlv54g.fsf@igalia.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:33641) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cq65N-0005uN-Fk for guix-devel@gnu.org; Mon, 20 Mar 2017 18:47:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cq65M-0005pm-Ex for guix-devel@gnu.org; Mon, 20 Mar 2017 18:47:33 -0400 In-Reply-To: <87d1dlv54g.fsf@igalia.com> (Andy Wingo's message of "Mon, 13 Mar 2017 11:32:47 +0100") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Andy Wingo Cc: guix-devel@gnu.org Hello, Andy Wingo writes: > On Sun 12 Mar 2017 15:49, Mathieu Lirzin writes: > >> Here is my proposal for the Google Summer of Code 2017. > > Looks great to me. FWIW I think you may want to use Fibers in Cuirass. > Sometimes a web API request might need to "fork" off a number of tasks, > and Fibers lets you do that pretty easily, and provides nice > communications mechanisms for inter-fiber communication like channels > and condition variables. It also prevents one long API request from > starving other API users. Also its abstractions are thread-safe, and it > enables parallel speedups by using all available cores. > > Right now Fibers doesn't have explicit support for subprocess events > like child-died, etc, though it can do concurrent access to multiple > pipes at once. So there's some work to do here. > > A reference: > > https://github.com/wingo/fibers/wiki/Manual > > Specifically see the "web server" notes in the Examples section. Fibers > is in Guix as "guile-fibers". Looks interesting. The web server that uses the standard interface seems not that difficult to integrate. I will add that to the road-map. Thanks. -- Mathieu Lirzin GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37