From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Mike Gran via "Bug reports for GUILE, GNU's Ubiquitous Extension Language" Newsgroups: gmane.lisp.guile.bugs Subject: bug#63826: Posix Spawn on MinGW Date: Thu, 1 Jun 2023 07:27:26 -0700 Message-ID: References: Reply-To: Mike Gran Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="11988"; mail-complaints-to="usenet@ciao.gmane.io" To: 63826@debbugs.gnu.org Original-X-From: bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org Thu Jun 01 16:28:34 2023 Return-path: Envelope-to: guile-bugs@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 1q4jI0-0002tI-6O for guile-bugs@m.gmane-mx.org; Thu, 01 Jun 2023 16:28:32 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q4jHX-0004XA-NI; Thu, 01 Jun 2023 10:28:03 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q4jHW-0004T5-JT for bug-guile@gnu.org; Thu, 01 Jun 2023 10:28:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1q4jHW-00082R-A3 for bug-guile@gnu.org; Thu, 01 Jun 2023 10:28:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1q4jHW-0006Pl-5S for bug-guile@gnu.org; Thu, 01 Jun 2023 10:28:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Mike Gran Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Thu, 01 Jun 2023 14:28:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 63826 X-GNU-PR-Package: guile X-Debbugs-Original-To: bug-guile@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.168562965624603 (code B ref -1); Thu, 01 Jun 2023 14:28:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 1 Jun 2023 14:27:36 +0000 Original-Received: from localhost ([127.0.0.1]:38309 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q4jH6-0006Ol-KM for submit@debbugs.gnu.org; Thu, 01 Jun 2023 10:27:36 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:38596) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q4jH5-0006Oc-5K for submit@debbugs.gnu.org; Thu, 01 Jun 2023 10:27:35 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q4jH4-0003tF-VX for bug-guile@gnu.org; Thu, 01 Jun 2023 10:27:34 -0400 Original-Received: from sonic308-1.consmr.mail.bf2.yahoo.com ([74.6.130.40]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1q4jH3-0007xu-6P for bug-guile@gnu.org; Thu, 01 Jun 2023 10:27:34 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1685629650; bh=dkwoSOkrkvD4k6n0T+ptoo7qEt2rIqxqA7JQBU7ASt4=; h=Date:From:To:Subject:References:From:Subject:Reply-To; b=Ytgh8nPFhhBkbVjZIa9hgp8Xom5RJHvafdwcUkTcKOBVqv6spVaHqD0yeRHVSxaRBYm6VXgOvoEQvcE130sTq2iiurC11uGDhp0V3A64IursN0IddZsx9vKQq0pzV18XircQhDQ7zeZP80BUq93MgbmjJCEFORZ0gSRpsHZ83I8rKRNP4+urh1fh3SJruZLFWVOPZ2++0AuSnwH/2cfL9OVYemBZ1zxT0bqZL+doYBsz/hgzDUYjj6vE2KiK7WHLpWW1AmVvEeiFKlTfCLlGEqHwnITaOBfiOyQe20tRgd3BFuHWUjOSIPRJLScyv128YsNY7iPg7/Vs6ZTFGGii+A== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1685629650; bh=kuDMG/fT1Zhh3NjQXJr68yTSsLSx/rPTN06xwoKEwND=; h=X-Sonic-MF:Date:From:To:Subject:From:Subject; b=LYCTQVHgl/7CsbWrq5Lqoqj2eiSHkP07+Vk6YLFSM4AJwjbdEUEyaJhdPzXswzgfR1JQKi9oulzg5Xiwg8DYT7qNORVwpBK1v+DX3CJkI/MEV1NccAB6nLovlzXsSTmJ4wKH6Sk5XSbblEAvtGjYGMljQZbCOAkU8BJ4QKrnia39eqWAQ4COksoXjOh6W7tZ6+Z/YdPIPHfXz/L8Ou+ur9jL8zFiDw7ao6idUONpNCFn02t2OH2kiyUBu0a+mUBO+6NstNqVJ8E+ubrc5wBWzhxuW/+tv68smUNYi9kvRgNRupvTfszLWO7KItz61cDaOm55XcIuXyJ7/bagIQs1GA== X-YMail-OSG: K2ioiNkVM1lU.329MmqGAbmSDhceiyTyBj3PzQ7lRtmPZfTkdgPUN_JI1HmbuRH eLMEJr.9I3_elwGFXG4fNB8HGLxj2MD5OroxkzLtO00zrzBTD3ivPmjrae6PIYp8DoJOSIFI_AxG LJAm1nnELDkCSQgqKYuOZzYkjn.S.z4HlDpaZ9At0DY9_6YBjSHdCktYFCAO3BL5U8DUjWL.CmAE VHJjjk.hibQWIgcT2yMfyqWSMfOh77QvIth.SaE4bMivzgGZHM1mko8lxerLXW2hzPnAzG7Tf59X 2PmjM5_3_S86UicPwWi6at.2Y6pz2_2qi0hcDoSxwPzwXUc3oIsbRbOB.1yjMEhmk854W4A.T2x6 wLH6h2VLEGadR37Nds.SsK_MCGSqWqu52RUVljQAHbZiigwTW9QNr3.F9hycM3SLdSyGUdaJ6GM1 wU.uMoqO9WeE6Dpm0HjHz.q.MjvdDJjIybZv6UqMzAKs924ixf9emrqYrCC2QrLNg98GRP2ppteE P6aR4usEQ2BELK0TxwtnW7ZueOB2OLvHfODObWyvyd.JPL_IhtNnlN_lJ6o14U9QZFlp9GuUrbuW PMlRLWQT_TpNyaxrQxc1.ZP07JWeczp_ZPPRSgY4nb0L9ICPMeRnhMBNrDbdKsiiaYYiuEwUPwgu NUJY0JohwQtSNGHHn6J0QPK_8irlN1j8sdH2dwjBOX1t7TFhUGUR1pnblKn2z1vkeVpxM6umydaz fqzPnJGOoWyKO4ZVjzZt3lw1tpwREvN3W3s1NQh.NKtbDMjREcKI1wy61cVf_7Vrgcjg8E5FNJNN GHJMo3C3qqc2e_8WIGt7BHipC0wXt7z8_tXT9IAbO4 X-Sonic-MF: X-Sonic-ID: 4c8a0303-eb3d-4066-a590-5e9a6ea65ae6 Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic308.consmr.mail.bf2.yahoo.com with HTTP; Thu, 1 Jun 2023 14:27:30 +0000 Original-Received: by hermes--production-ne1-574d4b7954-6wwdb (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID b395ddd06b49acc0274968c5498d9847; Thu, 01 Jun 2023 14:27:28 +0000 (UTC) Content-Disposition: inline X-Mailer: WebService/1.1.21495 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Received-SPF: pass client-ip=74.6.130.40; envelope-from=spk121@yahoo.com; helo=sonic308-1.consmr.mail.bf2.yahoo.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 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, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org Original-Sender: bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.lisp.guile.bugs:10622 Archived-At: The recent addition of the posix_spawn gnulib module raises the possibility of getting this functionality to work on MinGW, since the gnulib module provides portability to MinGW and friends. The first step is to remove the HAVE_FORK ifdefs where unnecessary in posix.c, since piped_process() does not use fork. This will allow the functions to be exported. Guile's homegrown waitpid in posix-w32.c is apparently not compatible with gnulib's posix_spawn since they use different stores for PIDs and process handles. The gnulib waitpid will need to be imported and Guile's custom waitpid removed. Also, various hardcodings of "/bin/sh" and "/dev/null" will need workarounds. If it could be made to work, it would still not function identically to how it functions on GNU/Linux because of the different shell, but we already accepted such divergence previously when 'system*' used the start_child from Guile's posix-w32.c -Mike Gran