From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Philipp Stephani Newsgroups: gmane.emacs.devel Subject: Re: master 2c79a8f 2/2: Use posix_spawn if possible. Date: Sat, 26 Dec 2020 12:26:24 +0100 Message-ID: References: <835z4qnhyx.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="1830"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Emacs developers To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Dec 26 12:28:00 2020 Return-path: Envelope-to: ged-emacs-devel@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 1kt7js-0000Mf-Ab for ged-emacs-devel@m.gmane-mx.org; Sat, 26 Dec 2020 12:28:00 +0100 Original-Received: from localhost ([::1]:49280 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kt7jr-0000Ol-BA for ged-emacs-devel@m.gmane-mx.org; Sat, 26 Dec 2020 06:27:59 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:60514) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kt7iZ-00080U-3A for emacs-devel@gnu.org; Sat, 26 Dec 2020 06:26:39 -0500 Original-Received: from mail-ot1-x332.google.com ([2607:f8b0:4864:20::332]:39238) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kt7iX-0006WB-9J; Sat, 26 Dec 2020 06:26:38 -0500 Original-Received: by mail-ot1-x332.google.com with SMTP id d8so5376997otq.6; Sat, 26 Dec 2020 03:26:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=coL2ahq8TxFN9kShYdsJmoIKz+sfKJZGZDx62oXrJ3c=; b=DBqUXyAemUJdsqMUSt8sAAbNMrJZFS9h+dT4D9nDf1fbHLmJs0DLKFGcCvqCkZ7US/ 8GQNE/8+TBRjR9KfLfWPLVimlnfKt3ws3aCT6ZfelW1SwDyj/ylWjn1TwC0H+/QJNdu6 XuNfKqYUv3xB3uNAxB/ml1vbP9GOL1YFA0VTJ3DAaAkap3fH4+RjQL8giHXHTULDURoW tbJKk2neZJ/SpHOEiUslnWwMT4fpTKTvp5RA3ZsUeFMIjm+KB4Rij7JRhVr0lYAZ55wG BqL0yLxd9p3FUXfqlTOx8ekFOPI6QU2pz5kxCt1rD0oR13q4z7FDWkpm1uO1X+Ghnp+f A4UQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=coL2ahq8TxFN9kShYdsJmoIKz+sfKJZGZDx62oXrJ3c=; b=j+xHJDUa+fSkQxbV4vQxOzlWh4AnA9dV9lDy0SPGtsz8EeWLfsiF13fGsy4lEEBSd6 6QLlDuDMn4cbkq7B4nlgZZoXPxtFQo09v11U7WQ5ZBvPdD//NgspkEksbGZox6V59uxJ 5/wfMwF6DCYB6Vbn8pNYkw014Iw7QcwBHrOwbS/+AP4Yxq54kQOUYaUFmXiwjkvflvcm N04oIF8AHULPSxrHon9tvEuCeCIydx8e0jDT/CC4C5z/1eADs+vCLtVfrF8wWZSQ3NWT /6xAqnHlwgDyoviRaM7ArPqVcLNWEpQL39+gkq7wIXNRfoi/4rolwEJyCj5HIerYsqLP zoGQ== X-Gm-Message-State: AOAM531AhkzXe6GLzDCeoiaokS9rhNKWGUkusPmOx6uXNkxqzhfIfD5M hDBY1nrWfj8QVFOhwRhS0ks7t4/3wi3BpVWXVORCw6eho5M= X-Google-Smtp-Source: ABdhPJwPp0bKQ59sphShsTY/ZjkhS3vKxyW+LkQYdjw7AIszfOV4iEhW5KK5Et2n/rIbj8dQjt2iOqYXcNspu+hj7g4= X-Received: by 2002:a9d:694a:: with SMTP id p10mr10243187oto.149.1608981995242; Sat, 26 Dec 2020 03:26:35 -0800 (PST) In-Reply-To: <835z4qnhyx.fsf@gnu.org> Received-SPF: pass client-ip=2607:f8b0:4864:20::332; envelope-from=p.stephani2@gmail.com; helo=mail-ot1-x332.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:261845 Archived-At: Am Fr., 25. Dez. 2020 um 14:17 Uhr schrieb Eli Zaretskii : > > I'm sorry, but I reverted this commit and the previous one. They > broke the MinGW build in fundamental ways, and I cannot afford having > the master branch broken so frequently, definitely not on weekends, > which are the only time I can work seriously on Emacs. OK. > > If you cannot make sure Emacs still builds on all supported platforms, Hmm, that's indeed a rather challenging request. Don't we support like dozens of platforms, including several nonfree operating systems? It would be rather difficult to contribute changes if the authors needed to test them on all supported platforms, especially in areas of the code with lots of conditional compilation. How do others deal with this? Do people run Windows VMs and try to build Emacs on them before pushing? > please either post your patches first, or push them to a scratch > branch, and ask people who have access to those platforms to test it > before the changes land on master. OK, I've now done that (branch scratch/posix-spawn). > > Btw, regarding use of posix_spawn, I'd expect a discussion before we > make such a change. AFAIU it is not a trivial decision, as > posix_spawn has its down sides, and therefore is not necessarily the > best API for running sub-processes on every supported platform, even > if you consider only the Posix ones. We should consider the > advantages and disadvantages before we make the decision. Sure, I'm happy to have that discussion. I briefly reviewed the posix_spawn implementation of GNU libc and Gnulib, and found that it uses vfork/clone + execve like our hand-rolled code, so I wouldn't expect any significant change. The primary advantage is to offload complexity into a library that can properly deal with system-specific issues and can improve over time. For example, on Linux, posix_spawn can use clone instead of vfork. On Windows, posix_spawn could directly call CreateProcess (though Gnulib doesn't implement that yet).