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.devel Subject: Re: bug#54667: 29.0.50; posix_spawn breaks emacs-gdb Date: Wed, 06 Apr 2022 18:48:05 +0300 Message-ID: <83czhucix6.fsf@gnu.org> References: <87fsmx80e5.fsf@gmail.com> <4d6ef0f6-8ab6-2dce-aa63-d18108fd5f21@gmail.com> <87bkxk983m.fsf@gmail.com> <87ilrp6iqg.fsf@gmail.com> <87pmlu60vf.fsf@gmail.com> <83o81ecvu7.fsf@gnu.org> <87lewi5sfc.fsf@gmail.com> <83lewicshv.fsf@gnu.org> <87h7765r2p.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="8783"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Robert Pluim Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Apr 06 17:48:38 2022 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 1nc7td-00028U-TL for ged-emacs-devel@m.gmane-mx.org; Wed, 06 Apr 2022 17:48:38 +0200 Original-Received: from localhost ([::1]:37438 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nc7tc-0007am-Rt for ged-emacs-devel@m.gmane-mx.org; Wed, 06 Apr 2022 11:48:36 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:58616) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nc7t1-0006YG-Lh for emacs-devel@gnu.org; Wed, 06 Apr 2022 11:47:59 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:57886) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nc7t1-0005oN-Cv; Wed, 06 Apr 2022 11:47:59 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=rr/IucSBnQMrHX1COBYi+1HkErR9JCTxfH7qtkCGbpg=; b=msUdZkRm0IYsOy48AieW VdFYJ0+C0mRN+s0E4vfrEcpJWfhFdwSfTbs/YWoGALr/3hybU2EYDMufpLJYoTE9eiYwi/sPe0/yW duHgenD/RmffuPSMDum0mKUblviXe8Bdaaje8SaXLdv3yNJQMAJ9mf2S3PFg+zfcoJio4jzgz51C8 5Blhs+unnXmPfIm+iOLnBXzn4rZCJh8BqfyksPg+dG/maT7jfqav8W4YBn1+mboV+GEVSSjn71rvY MGeJViyJ2XmGN20VxDtHTVnaZtEWRi9lzQ5WkrxGGX3y8f5EGjVBLrGvV80f83v6OHhrOl6E6pKRs n/L9yFHkVeKl0g==; Original-Received: from [87.69.77.57] (port=2866 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nc7t0-0000sS-Sq; Wed, 06 Apr 2022 11:47:59 -0400 In-Reply-To: <87h7765r2p.fsf@gmail.com> (message from Robert Pluim on Wed, 06 Apr 2022 14:33:50 +0200) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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:287842 Archived-At: > From: Robert Pluim > Cc: emacs-devel@gnu.org > Date: Wed, 06 Apr 2022 14:33:50 +0200 > > >> USABLE_POSIX_SPAWN is 0 on emacs-28 for every platform except macOS, > >> so applying the same patch as on master is all thatʼs needed. > > Eli> I didn't see USABLE_POSIX_SPAWN in the patch. Maybe I was looking at > Eli> the wrong patch. Can you show it? > > USABLE_POSIX_SPAWN is 0 on emacs-28 for all platforms except macOS, > and 1 on master for all platforms (modulo availability of some other > required features) => posix_spawn can only be used by macOS on > emacs-28. > > emacs-28 callproc.c: > > /* In order to be able to use `posix_spawn', it needs to support some > variant of `chdir' as well as `setsid'. */ > #if defined DARWIN_OS \ > && defined HAVE_SPAWN_H && defined HAVE_POSIX_SPAWN \ > && defined HAVE_POSIX_SPAWNATTR_SETFLAGS \ > && (defined HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR \ > || defined HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR_NP) \ > && defined HAVE_DECL_POSIX_SPAWN_SETSID \ > && HAVE_DECL_POSIX_SPAWN_SETSID == 1 > # include > # define USABLE_POSIX_SPAWN 1 > #else > # define USABLE_POSIX_SPAWN 0 > #endif > > master callproc.c: > > /* In order to be able to use `posix_spawn', it needs to support some > variant of `chdir' as well as `setsid'. */ > #if defined HAVE_SPAWN_H && defined HAVE_POSIX_SPAWN \ > && defined HAVE_POSIX_SPAWNATTR_SETFLAGS \ > && (defined HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR \ > || defined HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR_NP) \ > && defined HAVE_DECL_POSIX_SPAWN_SETSID \ > && HAVE_DECL_POSIX_SPAWN_SETSID == 1 > # include > # define USABLE_POSIX_SPAWN 1 > #else > # define USABLE_POSIX_SPAWN 0 > #endif > > and all uses of posix_spawn are protected by USABLE_POSIX_SPAWN We are mis-communicating, because that's not what I asked. But never mind, I've looked at the sources, and I think it's safe to backport this to the emacs-28 branch. Thanks.