diff options
author | Jeff Trawick <trawick@apache.org> | 2003-11-24 00:17:24 +0000 |
---|---|---|
committer | Jeff Trawick <trawick@apache.org> | 2003-11-24 00:17:24 +0000 |
commit | 2f3ba9e965b655a6fc080b253c30379c0b8ea146 (patch) | |
tree | 4576f6e50f7167bf9049e3d9b680c1288b43b82c /file_io/unix/pipe.c | |
parent | cd82285b8ad1a091cfca3510fa40760578a7598c (diff) | |
download | apr-2f3ba9e965b655a6fc080b253c30379c0b8ea146.tar.gz |
on Unix-ish platforms, apr_wait_for_io_or_timeout() can just use poll(2)
it is a perfect match for the feature set needed and avoids the setup
code at object creation time currently required to use apr_pollset_poll()
instead of poll(2)
future:
select()-based function is trivial too
is any platform then left needing the support in
apr/(network_io|file_io)/unix for allocating a pollset any time we
create a file or socket just in case apr_wait_for_io_or_timeout()
will be called?
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@64794 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'file_io/unix/pipe.c')
-rw-r--r-- | file_io/unix/pipe.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/file_io/unix/pipe.c b/file_io/unix/pipe.c index 140c98f8e..5ab52cbdd 100644 --- a/file_io/unix/pipe.c +++ b/file_io/unix/pipe.c @@ -198,10 +198,11 @@ APR_DECLARE(apr_status_t) apr_os_pipe_put_ex(apr_file_t **file, apr_unix_file_cleanup, apr_pool_cleanup_null); } - +#ifndef WAITIO_USES_POLL /* Create a pollset with room for one descriptor. */ /* ### check return codes */ (void) apr_pollset_create(&(*file)->pollset, 1, pool, 0); +#endif return APR_SUCCESS; } @@ -233,8 +234,9 @@ APR_DECLARE(apr_status_t) apr_file_pipe_create(apr_file_t **in, apr_file_t **out #if APR_HAS_THREADS (*in)->thlock = NULL; #endif +#ifndef WAITIO_USES_POLL (void) apr_pollset_create(&(*in)->pollset, 1, pool, 0); - +#endif (*out) = (apr_file_t *)apr_pcalloc(pool, sizeof(apr_file_t)); (*out)->pool = pool; (*out)->filedes = filedes[1]; @@ -247,8 +249,9 @@ APR_DECLARE(apr_status_t) apr_file_pipe_create(apr_file_t **in, apr_file_t **out #if APR_HAS_THREADS (*out)->thlock = NULL; #endif +#ifndef WAITIO_USES_POLL (void) apr_pollset_create(&(*out)->pollset, 1, pool, 0); - +#endif apr_pool_cleanup_register((*in)->pool, (void *)(*in), apr_unix_file_cleanup, apr_pool_cleanup_null); apr_pool_cleanup_register((*out)->pool, (void *)(*out), apr_unix_file_cleanup, |