[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