GNU bug report logs - #63826
Posix Spawn on MinGW

Previous Next

Package: guile;

Reported by: Mike Gran <spk121 <at> yahoo.com>

Date: Thu, 1 Jun 2023 14:28:01 UTC

Severity: normal

To reply to this bug, email your comments to 63826 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guile <at> gnu.org:
bug#63826; Package guile. (Thu, 01 Jun 2023 14:28:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Mike Gran <spk121 <at> yahoo.com>:
New bug report received and forwarded. Copy sent to bug-guile <at> gnu.org. (Thu, 01 Jun 2023 14:28:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Mike Gran <spk121 <at> yahoo.com>
To: bug-guile <at> gnu.org
Subject: Posix Spawn on MinGW
Date: Thu, 1 Jun 2023 07:27:26 -0700
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




This bug report was last modified 300 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.