[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: system* always returns #f on W2K



Quoting Hannu Koivisto:
> So, I took a look at the source code with a colleague of mine who
> is a Windows user and after little testing and printf-debugging we
> noticed that system* doesn't even wait for the process to finish.
> This seems to be because in code...
> 
>     spawn_status = MSC_IZE(spawnv)(type, command, (const char * const *)argv);
> 
>     if (!synchonous) {
> [...]
>     } else if ((spawn_status != -1) && !as_child) {
> [...]
>     }
> 
> ...from process function in port.c neither of if branches is
> entered because as_child is true (1).

After looking at this, I'm fairly certain that the "!as_child" test
should be "as_child".

BTW, Eli Barzilay has a replacement for this twisted code, which we
plan to integrate as soon as the module system is in place.

Matthew