From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#48118: 27.1; 28; Only first process receives output with multiple running processes Date: Fri, 30 Apr 2021 17:31:09 +0300 Message-ID: <83sg37c09e.fsf@gnu.org> References: <64c194f9-b984-adaa-d5fd-86aa3ed3833a@daniel-mendler.de> <83wnsjc0vd.fsf@gnu.org> <09261dcc-92e6-0c4e-e692-7e48979b6b91@daniel-mendler.de> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="22679"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 48118@debbugs.gnu.org To: Daniel Mendler Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Apr 30 16:47:24 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lcUQN-0005n8-VN for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 30 Apr 2021 16:47:23 +0200 Original-Received: from localhost ([::1]:45700 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lcUQM-0006do-W6 for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 30 Apr 2021 10:47:23 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:58480) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lcUBb-0001PE-A2 for bug-gnu-emacs@gnu.org; Fri, 30 Apr 2021 10:32:07 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:47877) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lcUBX-0007QY-0J for bug-gnu-emacs@gnu.org; Fri, 30 Apr 2021 10:32:07 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lcUBW-0002lg-Uf for bug-gnu-emacs@gnu.org; Fri, 30 Apr 2021 10:32:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 30 Apr 2021 14:32:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 48118 X-GNU-PR-Package: emacs Original-Received: via spool by 48118-submit@debbugs.gnu.org id=B48118.161979308510582 (code B ref 48118); Fri, 30 Apr 2021 14:32:02 +0000 Original-Received: (at 48118) by debbugs.gnu.org; 30 Apr 2021 14:31:25 +0000 Original-Received: from localhost ([127.0.0.1]:59420 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lcUAv-0002kc-4k for submit@debbugs.gnu.org; Fri, 30 Apr 2021 10:31:25 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:50088) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lcUAt-0002kP-Fp for 48118@debbugs.gnu.org; Fri, 30 Apr 2021 10:31:23 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:47919) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lcUAn-00074q-WF; Fri, 30 Apr 2021 10:31:18 -0400 Original-Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:1448 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lcUAm-0007k2-9y; Fri, 30 Apr 2021 10:31:17 -0400 In-Reply-To: <09261dcc-92e6-0c4e-e692-7e48979b6b91@daniel-mendler.de> (message from Daniel Mendler on Fri, 30 Apr 2021 16:23:34 +0200) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:205253 Archived-At: > Cc: 48118@debbugs.gnu.org > From: Daniel Mendler > Date: Fri, 30 Apr 2021 16:23:34 +0200 > > > Why can't you call stop-process from your sentinel function(s) to > > avoid the problem? > > What do you mean? I don't want to stop the processes. I want to have > them running asynchronously and concurrently and Emacs should receive > the incoming data of both processes. When I have to stop the processes > the benefit of running the processes asynchronously is lost. So let's talk about this in more detail, okay? First, what does "fairness" mean in this context? Given that there are multiple simultaneous asynchronous subprocesses that produce output at different rates and consume CPU at different levels, what would it mean for Emacs to be "fair"? Second, suppose we have multiple ripgrep subprocesses running, and Emacs will somehow read from each one of them in a round-robin fashion: what and how do you expect the user to do to handle the results of all those subprocesses simultaneously and "fairly"?