As pointed out by BrowserUK
in this node Re: Unix Review column
1 while wait > 0; # avoid zombies
won't work on windows systems. The windows implementation uses the negative of the thread ID as the pid, so wait returns negative numbers for all children.
It seems the most cross-platform wait statement is:
1 while wait != -1 ; # avoid zombies
since the main thread is ID 1, and the child threads won't have that ID. And it's what wait natively returns when there are no further child processes.