diff options
author | orlikowski <orlikowski@13f79535-47bb-0310-9956-ffa450edef68> | 2001-06-07 10:03:25 +0000 |
---|---|---|
committer | orlikowski <orlikowski@13f79535-47bb-0310-9956-ffa450edef68> | 2001-06-07 10:03:25 +0000 |
commit | 74a0607e8a804266b51210553ab74d583180dbc7 (patch) | |
tree | e1131723bb77182f9a3191223b1e1289c50c3402 | |
parent | 27f483d4a2ed650764d113b298823cec1468465d (diff) | |
download | libapr-74a0607e8a804266b51210553ab74d583180dbc7.tar.gz |
Generate httpd.exp on the fly.
This should allow DSOs to work on AIX, without the headache of maintaining
the httpd.exp file.
This is adapted from OS/2's generation of ApacheCoreOS2.def.
There exist a few bugs still:
1) mod_dav and mod_proxy may not yet work, due to certain namespace issues.
2) Some symbols may need to be added, a la core_header.def
Once these have been fixed, the old httpd.exp file will be deleted.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@61729 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | configure.in | 2 | ||||
-rw-r--r-- | include/arch/unix/networkio.h | 3 | ||||
-rw-r--r-- | network_io/unix/poll.c | 40 |
3 files changed, 44 insertions, 1 deletions
diff --git a/configure.in b/configure.in index b8c1b6711..5c1a20936 100644 --- a/configure.in +++ b/configure.in @@ -330,6 +330,7 @@ esac AC_SUBST(threads) AC_SUBST(have_sigwait) +AC_CHECK_FUNCS(kqueue) AC_CHECK_FUNCS(poll) dnl #----------------------------- Checking for missing POSIX thread functions @@ -556,6 +557,7 @@ APR_FLAG_HEADERS( net/errno.h \ netinet/in.h \ sys/file.h \ + sys/event.h \ sys/mman.h \ sys/poll.h \ sys/resource.h \ diff --git a/include/arch/unix/networkio.h b/include/arch/unix/networkio.h index 5d983bd80..0b1125ab7 100644 --- a/include/arch/unix/networkio.h +++ b/include/arch/unix/networkio.h @@ -69,6 +69,9 @@ #if APR_HAVE_SYS_UIO_H #include <sys/uio.h> #endif +#ifdef HAVE_SYS_EVENT_H +#include <sys/event.h> +#endif #ifdef HAVE_SYS_POLL_H #include <sys/poll.h> #endif diff --git a/network_io/unix/poll.c b/network_io/unix/poll.c index cfc5d44f7..b6709c300 100644 --- a/network_io/unix/poll.c +++ b/network_io/unix/poll.c @@ -55,7 +55,45 @@ #include "networkio.h" #include "fileio.h" -#ifdef HAVE_POLL /* We can just use poll to do our socket polling. */ +#if defined(HAVE_KQUEUE) /* FreeBSD provides kqueue, let's use it :) */ + +apr_status_t apr_poll_setup(apr_pollfd_t **new, apr_int32_t num, apr_pool_t *cont) +{ + (*new) = (apr_pollfd_t *)apr_pcalloc(cont, sizeof(apr_pollfd_t) * num); + if ((*new) == NULL) { + return APR_ENOMEM; + } + +} + +apr_status_t apr_poll_socket_add(apr_pollfd_t *aprset, + apr_socket_t *sock, apr_int16_t event) +{ +} + +apr_status_t apr_poll(apr_pollfd_t *aprset, apr_int32_t *nsds, + apr_interval_time_t timeout) +{ +} + +apr_status_t apr_poll_revents_get(apr_int16_t *event, apr_socket_t *sock, apr_pollfd_t *aprset) +{ +} + +apr_status_t apr_poll_socket_mask(apr_pollfd_t *aprset, + apr_socket_t *sock, apr_int16_t events) +{ +} + +apr_status_t apr_poll_socket_remove(apr_pollfd_t *aprset, apr_socket_t *sock) +{ +} + +apr_status_t apr_poll_socket_clear(apr_pollfd_t *aprset, apr_int16_t events) +{ +} + +#elif defined(HAVE_POLL) /* We can just use poll to do our socket polling. */ apr_status_t apr_poll_setup(apr_pollfd_t **new, apr_int32_t num, apr_pool_t *cont) { |