Hi
I'm looking into the timeout issue on NT4. The timeout seems to be coming from:
796 size = 32678; ... 799 ok(CreatePipe(&piperead, &pipewrite, &pipe_attr, size) != 0, "CreatePipe failed\n"); 800 ok(WriteFile(pipewrite, buffer, size, &written, NULL), "Write to anonymous pipe failed\n");
When I change it to write a smaller number of bytes:
800 ok(WriteFile(pipewrite, buffer, (size - 24), &written, NULL), "Write to anonymous pipe failed\n");
we don't have a timeout.
Changing the 'size - 24' to a bigger number like 'size - 23' gives a timeout again.
Also changing size to 16384 still needs that 'size - 24' in the WriteFile(). In fact every size I use I need a 'size - 24';
I can also make this timeout go away by specifying at least 'size + 24' in the CreatePipe() call.
MSDN states that the passed size for CreatePipe us used as an suggestion. I guess NT4 and W2K don't guess/calculate that well?
Any ideas?