On 7/15/05, Jonathan Worthington <[EMAIL PROTECTED]> wrote: > Hi, > > This patch implements a missing function in config\gen\win32\exec.c to make > all of the tests in t\op\spawnw.t work. > excellent!
> Any input on why we have the tests right shift by 8 bits what spwanw gives > them back would be helpful. If its that the exit code on a UNIXy platform is > in the upper byte, then surely it's better to right shift it in the platform > specific stuff (in platform.c), so that an exit code of 1 comes back from > spawnw as 1, not 1 << 8? I'll happily send it a patch to make this so if > there's agreement it's the Right Thing. > what spawned processes return was never fully specified, so this test has remained broken on windows for a long time. your guess is correct; the exit code is the upper byte in unix-land (how silly.) if i recall correctly, the options here are: 1) unix-like return value from spawnw everywhere, 2) return platform-specific value, or 3) return some object-like thingy. i don't like option 1, as i believe spawnw should return something platform-specific. an object-like thingy (option 3) might be nice, and is definitely shiny, but it doesn't exist, and requires more specification. in the meantime, you've (happily!) volunteered to implement option 2, which i believe is the Right Thing. if nobody else disagrees, i'll not apply this patch, and instead wait for your new patch which gets spawnw working in a platform-specific manner. i'm looking forward to a working spawnw on all platforms. ~jerry