something goes wrong here. It stuck like this:

loading /Users/catap/src/gcl/gcl/unixport/../cmpnew/gcl_cmpspecial.lsp
loading /Users/catap/src/gcl/gcl/unixport/../cmpnew/gcl_cmplam.lsp
loading /Users/catap/src/gcl/gcl/unixport/../cmpnew/gcl_cmplet.lsp
loading /Users/catap/src/gcl/gcl/unixport/../cmpnew/gcl_cmpvs.lsp
loading /Users/catap/src/gcl/gcl/unixport/../cmpnew/gcl_cmpwt.lsp
loading /Users/catap/src/gcl/gcl/unixport/../cmpnew/gcl_cmpmain.lsp

NIL

COMPILER>
(:SDEBUG
 :SETF :PRE-GCL :DYNAMIC-EXTENT :INTDIV :64BIT :C99 :UNEXEC
 :NATIVE-RELOC :EDITLINE :TRUNCATE_USE_C :CLX-LITTLE-ENDIAN :BSD
 :DARWIN21.6.0 :X86_64 :IEEE-FLOATING-POINT :DARWIN :UNIX :GMP :GCL
 :AKCL :COMMON :KCL)

COMPILER>
#<"SYSTEM" package>

SYSTEM>
T

SYSTEM>

and it expect my input via keyboard.

--
wbr, Kirill

> On 22. Dec 2023, at 23:41, Camm Maguire <c...@maguirefamily.org> wrote:
> 
> Greetings!  I am exercising this patch in case you want to try it out.
> 
> modified   gcl/o/unixsys.c
> @@ -32,6 +32,8 @@ Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
> 
> #if !defined(__MINGW32__) && !defined(__CYGWIN__)
> 
> +       #include <spawn.h>
> +
> int
> vsystem(const char *command) {
> 
> @@ -58,11 +60,27 @@ vsystem(const char *command) {
> 
>   }
> 
> -  if (!(pid=pvfork())) {
> -    errno=0;
> -    execvp(*p1,(void *)p1);
> -    _exit(128|(errno&0x7f));
> +  {
> +
> +    posix_spawnattr_t attr;
> +    posix_spawn_file_actions_t file_actions;
> +    extern char **environ;
> +
> +    massert(!posix_spawn_file_actions_init(&file_actions));
> +    massert(!posix_spawnattr_init(&attr));
> +
> +    massert(!posix_spawnp(&pid, *p1, &file_actions, &attr,  (void *)p1, 
> environ));
> +
> +    massert(!posix_spawnattr_destroy(&attr));
> +    massert(!posix_spawn_file_actions_destroy(&file_actions));
> +
>   }
> +
> +  /* if (!(pid=pvfork())) { */
> +  /*   errno=0; */
> +  /*   execvp(*p1,(void *)p1); */
> +  /*   _exit(128|(errno&0x7f)); */
> +  /* } */
> 
>   massert(pid>0);
>   massert(pid==waitpid(pid,&s,0));
> 
> Take care,
> --
> Camm Maguire                                      c...@maguirefamily.org
> ==========================================================================
> "The earth is but one country, and mankind its citizens."  --  Baha'u'llah

Attachment: signature.asc
Description: Message signed with OpenPGP

Reply via email to