Jeff Trawick wrote:
> 
> Does anybody know how to tell which flags spawnl() passes to
> CreateProcess[W] when 1.3 starts its piped loggers  (something like
> truss/strace I guess)?

Sander and I dug deeper on this, core_spawn in alloc.c we handle the pipes.

We reset the pipes according to the stdin/out/err handles created.

But we don't seem to override if there is no in/out/err handle around.

This means that cmd.exe is not expecting INVALID_FILE_HANDLE, but either
a NULL handle, or a handle to device null.  In any case, rotatelogs.exe
and other log handlers had no issue with INVALID_FILE_HANDLE, however,
the cmd.exe shell has a huge issue with it.

So by changing from the pipe to the shell, we blew up in the service
process on some boxes (XP at least).  Sander reports it does not die
as a service on Windows 2003, but apparently EOS to the cmd.exe process
isn't a reliable deathknell.

Still working at it.

Reply via email to