Skip to content
Commit 81ed8ac6 authored by Jeff Trawick's avatar Jeff Trawick
Browse files

ap_create_pipe was changed to return a pipe with both handles

blocking (previously, both handles were non-blocking).

ap_set_pipe_timeout() is now the only way to manipulate the
blocking state of the pipe.  Pass -1 for timeout to make it
blocking; pass 0 for timeout to make it non-blocking.

ap_block_pipe() is gone.

A few minor bugs were fixed along the way.

OS-specific notes:

non-Unix in general:

Only Unix/BeOS currently has the optimization to keep track of the blocking
state.  This is used to avoid syscalls as well as to handle ap_put_os_file(),
which is a case where we don't know the blocking state of the handle we are
given.

OS/2:

ap_set_pipe_timeout() with timeout value > 0: The code didn't play with
the blocking state before and it doesn't still.  I did add logic for special
timeout values 0 and -1 to play with the blocking state.

ap_create_pipe():  old logic didn't do anything with the blocking state
of the second handle; it still doesn't; hopefully it is blocking

pre-BONE BEOS:

old code t...
parent f86e6ccb
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment