Greets :) On Thu 14 Jul 2016 20:41, Eli Zaretskii <e...@gnu.org> writes:
>> Just that spawn_child isn't the only way to get a PID. getpid would be >> the most obvious one, but reading a PID value over a socket or whatever >> is also possible. But then your code is now introducing not-quite-PIDs >> as well. What if an interface expects one but gets the other? > > I see your point, and I think I can fix this, together with the pid_t > width issue in 64-bit build, if I introduce an array private to > posix-w32.c that will hold the PIDs of all processes known to Guile > for which waitpid did not yet return an exit code, and their > corresponding process handles. Then we can return an int to Scheme, > and the w32 functions will get hold of the handle by looking up the > PID in that array. > > How's that sound? If you agree, I can work on this tomorrow. That actually sounds really nice! That way the PID-using functions will all see proper PIDS and we also get the waitpid() behavior. I would be happy to apply such a patch. Thank you :-) Andy