Currently I am porting an application (Julia Studio) from Qt4 to Qt5. Major 
change is that the process (Julia language) that is started as a QProcess 
and uses libuv is set-up with stdin and stdout as named pipes.
I am working on Windows 8.
The client side stdout pipe results from a CreateFile call like this:
    hWrite = CreateFile(  pipeName,  GENERIC_WRITE,  0, &secAtt, 
OPEN_EXISTING,  FILE_FLAG_OVERLAPPED,  NULL );
In pipe.c
    uv_set_pipe_handle
    the call to CreateIoCompletionPort fails with GetLastError 87, 
ERROR_INVALID_PARAMETER.
Consequently, in uv_pipe_write_impl, the handling of UV_HANDLE_EMULATE_IOCP 
also fails, and ultimately causes the process to crash.

If I just ignore the failing of CreateIoCompletionPort (don't 
set UV_HANDLE_EMULATE_IOCP) everything seems to work fine.
Also, very strangely, when I try to make logging calls (very simple open, 
write close, to ordinary unrelated file) before CreateIoCompletionPort, it 
doesn't fail!

Any illuminating comments are very welcome.

-- 
You received this message because you are subscribed to the Google Groups 
"libuv" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/libuv.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to