>>>>> "Alexandre" == Alexandre Julliard <[EMAIL PROTECTED]> writes:

    Alexandre> Uwe Bonnes <[EMAIL PROTECTED]> writes:
    >> As I don't have a test target, I don't feel yet like filling
    >> lpvBuffer and I don't yet have an idea how to do that. I looked at
    >> the kernel sources and lseek unconditionally returns error on
    >> pipe. So how can we read the pipe and get the filepointer back to the
    >> original position afterwards?

    Alexandre> You can't use lseek, you have to make the pipe a socket pair
    Alexandre> and use recv(MSG_PEEK).

    >> wine/server/protocol.def Define a FD_TYPE_PIPE wine/server/file.c:
    >> get_handle_fd On type FD_TYPE_PIPE check other end of type

    Alexandre> If this is really necessary it should be done on the client
    Alexandre> side. I'm not sure I see the point though.

PeekNamedPipe must report when the pipe is broken, otherwise some programs
wait forever for a message from the already disappeared program. Without
checking for a broken other end, FIONREAD always reports "0 bytes". I don't
see how I can doi that on the client side, beside exporting the
pipe(_user)_get_fd functions directly. Programming hints are welcome.

Bye
-- 
Uwe Bonnes                [EMAIL PROTECTED]

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------

Reply via email to