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? -- Cheers, Paul.