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.