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).