summaryrefslogtreecommitdiff
path: root/poll
diff options
context:
space:
mode:
authorGreg Ames <gregames@apache.org>2013-01-17 18:44:49 +0000
committerGreg Ames <gregames@apache.org>2013-01-17 18:44:49 +0000
commit898cde77465e915ba1e259211df1ffd622e64653 (patch)
treea9ce2163570283fb862c23dc8caa0cc108dce10a /poll
parent876dcf283deda87fb1e24f3f97546a00b7a9d503 (diff)
downloadapr-898cde77465e915ba1e259211df1ffd622e64653.tar.gz
no functional change, whitespace only. remove trailing blanks
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1434858 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'poll')
-rw-r--r--poll/unix/z_asio.c130
1 files changed, 65 insertions, 65 deletions
diff --git a/poll/unix/z_asio.c b/poll/unix/z_asio.c
index d28b4a1ee..4b78623a9 100644
--- a/poll/unix/z_asio.c
+++ b/poll/unix/z_asio.c
@@ -18,15 +18,15 @@
*
* This implementation is based on a design by John Brooks (IBM Pok) which uses
* the z/OS sockets async i/o facility. When a
- * socket is added to the pollset, an async poll is issued for that individual
- * socket. It specifies that the kernel should send an IPC message when the
- * socket becomes ready. The IPC messages are sent to a single message queue
- * that is part of the pollset. apr_pollset_poll waits on the arrival of IPC
+ * socket is added to the pollset, an async poll is issued for that individual
+ * socket. It specifies that the kernel should send an IPC message when the
+ * socket becomes ready. The IPC messages are sent to a single message queue
+ * that is part of the pollset. apr_pollset_poll waits on the arrival of IPC
* messages or the specified timeout.
*
* Since z/OS does not support async i/o for pipes or files at present, this
- * implementation falls back to using ordinary poll() when
- * APR_POLLSET_THREADSAFE is unset.
+ * implementation falls back to using ordinary poll() when
+ * APR_POLLSET_THREADSAFE is unset.
*
* Greg Ames
* April 2012
@@ -37,7 +37,7 @@
#include "apr_poll.h"
#include "apr_time.h"
#include "apr_portable.h"
-#include "apr_arch_inherit.h"
+#include "apr_arch_inherit.h"
#include "apr_arch_file_io.h"
#include "apr_arch_networkio.h"
#include "apr_arch_poll_private.h"
@@ -56,7 +56,7 @@ struct apr_pollset_private_t
* file descriptors complete
*/
apr_pollfd_t *result_set;
- apr_uint32_t size;
+ apr_uint32_t size;
#if APR_HAS_THREADS
/* A thread mutex to protect operations on the rings and the hash */
@@ -69,7 +69,7 @@ struct apr_pollset_private_t
APR_RING_HEAD(ready_ring_t, asio_elem_t) ready_ring;
APR_RING_HEAD(prior_ready_ring_t, asio_elem_t) prior_ready_ring;
APR_RING_HEAD(free_ring_t, asio_elem_t) free_ring;
-
+
/* for pipes etc with no asio */
struct pollfd *pollset;
apr_pollfd_t *query_set;
@@ -88,7 +88,7 @@ struct asio_msgbuf_t {
};
struct asio_elem_t
-{
+{
APR_RING_ENTRY(asio_elem_t) link;
apr_pollfd_t pfd;
struct pollfd os_pfd;
@@ -106,7 +106,7 @@ struct asio_elem_t
* 4 - z/OS, APR, and internal calls,
* 5 - everything else except the timer pop path,
* 6 - everything, including the Event 1 sec timer pop path
- *
+ *
* each DEBUG level includes all messages produced by lower numbered levels
*/
@@ -162,9 +162,9 @@ struct asio_elem_t
DBG_END
#else /* DEBUG is 0 */
-#define DBG_BUFF
-#define DBG(lvl, msg) ((void)0)
-#define DBG1(lvl, msg, var1) ((void)0)
+#define DBG_BUFF
+#define DBG(lvl, msg) ((void)0)
+#define DBG1(lvl, msg, var1) ((void)0)
#define DBG2(lvl, msg, var1, var2) ((void)0)
#define DBG3(lvl, msg, var1, var2, var3) ((void)0)
#define DBG4(lvl, msg, var1, var2, var3, var4) ((void)0)
@@ -182,12 +182,12 @@ static int asyncio(asio_elem_t *elem)
#define AIO BPX1AIO
#endif
- AIO(sizeof(struct aiocb), &(elem->a), &rv, &errno, __err2ad());
- DBG3(4, "BPX4AIO aiocb %p elem %p rv %d\n",
+ AIO(sizeof(struct aiocb), &(elem->a), &rv, &errno, __err2ad());
+ DBG3(4, "BPX4AIO aiocb %p elem %p rv %d\n",
&(elem->a), elem, rv);
#ifdef DEBUG
if (rv < 0) {
- DBG2(4, "errno %d errnojr %08x\n",
+ DBG2(4, "errno %d errnojr %08x\n",
errno, *__err2ad());
}
#endif
@@ -276,7 +276,7 @@ static apr_status_t asio_pollset_create(apr_pollset_t *pollset,
}
rv = msgget(IPC_PRIVATE, S_IWUSR+S_IRUSR); /* user r/w perms */
if (rv < 0) {
-#if DEBUG
+#if DEBUG
perror(__FUNCTION__ " msgget returned < 0 ");
#endif
pollset = NULL;
@@ -295,7 +295,7 @@ static apr_status_t asio_pollset_create(apr_pollset_t *pollset,
return APR_ENOTIMPL;
#endif
- } else { /* APR_POLLSET_THREADSAFE not set, i.e. no async i/o,
+ } else { /* APR_POLLSET_THREADSAFE not set, i.e. no async i/o,
* init fields only needed in old style pollset
*/
@@ -317,8 +317,8 @@ static apr_status_t asio_pollset_create(apr_pollset_t *pollset,
}
DBG2(2, "exiting, pollset: %p, type: %s\n",
- pollset,
- flags & APR_POLLSET_THREADSAFE ? "async" : "POSIX");
+ pollset,
+ flags & APR_POLLSET_THREADSAFE ? "async" : "POSIX");
return APR_SUCCESS;
@@ -371,7 +371,7 @@ static apr_status_t asio_pollset_add(apr_pollset_t *pollset,
pollset_lock_rings();
DBG(2, "entered\n");
- if (pollset->flags & APR_POLLSET_THREADSAFE) {
+ if (pollset->flags & APR_POLLSET_THREADSAFE) {
if (!APR_RING_EMPTY(&(priv->free_ring), asio_elem_t, link)) {
elem = APR_RING_FIRST(&(priv->free_ring));
@@ -397,7 +397,7 @@ static apr_status_t asio_pollset_add(apr_pollset_t *pollset,
/* z/OS only supports async I/O for sockets for now */
elem->os_pfd.fd = descriptor->desc.s->socketdes;
-
+
APR_RING_ELEM_INIT(elem, link);
elem->a.aio_cmd = AIO_SELPOLL;
elem->a.aio_cflags &= ~AIO_OK2COMPIMD; /* not OK to complete inline*/
@@ -406,14 +406,14 @@ static apr_status_t asio_pollset_add(apr_pollset_t *pollset,
if (0 != asyncio(elem)) {
rv = errno;
- DBG3(4, "pollset %p asio failed fd %d, errno %p\n",
+ DBG3(4, "pollset %p asio failed fd %d, errno %p\n",
pollset, elem->os_pfd.fd, rv);
#if DEBUG
perror(__FUNCTION__ " asio failure");
#endif
}
else {
- DBG2(4, "good asio call, adding fd %d to pollset %p\n",
+ DBG2(4, "good asio call, adding fd %d to pollset %p\n",
elem->os_pfd.fd, pollset);
pollset->nelts++;
@@ -421,11 +421,11 @@ static apr_status_t asio_pollset_add(apr_pollset_t *pollset,
}
}
else {
- /* APR_POLLSET_THREADSAFE isn't set. use POSIX poll in case
+ /* APR_POLLSET_THREADSAFE isn't set. use POSIX poll in case
* pipes or files are used with this pollset
*/
-
- rv = posix_add(pollset, descriptor);
+
+ rv = posix_add(pollset, descriptor);
}
DBG1(2, "exiting, rv = %d\n", rv);
@@ -440,7 +440,7 @@ static posix_remove(apr_pollset_t *pollset, const apr_pollfd_t *descriptor)
apr_uint32_t i;
apr_pollset_private_t *priv = pollset->p;
- DBG(4, "entered\n");
+ DBG(4, "entered\n");
for (i = 0; i < pollset->nelts; i++) {
if (descriptor->desc.s == priv->query_set[i].desc.s) {
/* Found an instance of the fd: remove this and any other copies */
@@ -457,12 +457,12 @@ static posix_remove(apr_pollset_t *pollset, const apr_pollfd_t *descriptor)
dst++;
}
}
- DBG(4, "returning OK\n");
+ DBG(4, "returning OK\n");
return APR_SUCCESS;
}
}
- DBG(1, "returning APR_NOTFOUND\n");
+ DBG(1, "returning APR_NOTFOUND\n");
return APR_NOTFOUND;
} /* end of posix_remove */
@@ -499,17 +499,17 @@ static apr_status_t asio_pollset_remove(apr_pollset_t *pollset,
DBG1(5, "hash found fd %d\n", fd);
/* delete this fd from the hash */
apr_hash_set(priv->elems, &(fd), sizeof(int), NULL);
- /* asyncio call to cancel */
+ /* asyncio call to cancel */
elem->a.aio_cmd = AIO_CANCEL;
/* elem->a.aio_cflags = AIO_CANCELNONOTIFY; */
- /* we want *msgrcv to collect cancel notifications to remove races
+ /* we want *msgrcv to collect cancel notifications to remove races
* in garbage collection */
rv = asyncio(elem);
DBG1(4, "asyncio returned %d\n", rv);
- if (rv == 1) {
+ if (rv == 1) {
elem->state = ASIO_CANCELLED;
rv = APR_SUCCESS;
}
@@ -562,20 +562,20 @@ static posix_poll(apr_pollset_t *pollset,
} /* end of posix_poll */
-static process_msg(apr_pollset_t *pollset, struct asio_msgbuf_t *msg)
+static process_msg(apr_pollset_t *pollset, struct asio_msgbuf_t *msg)
{
DBG_BUFF
asio_elem_t *elem = msg->msg_elem;
if (elem->state == ASIO_CANCELLED) {
- DBG2(5, "for cancelled elem, recycling memory - elem %08p, fd %d\n",
- elem, elem->os_pfd.fd);
- APR_RING_INSERT_TAIL(&(pollset->p->free_ring), elem,
+ DBG2(5, "for cancelled elem, recycling memory - elem %08p, fd %d\n",
+ elem, elem->os_pfd.fd);
+ APR_RING_INSERT_TAIL(&(pollset->p->free_ring), elem,
asio_elem_t, link);
} else {
- DBG2(4, "adding to ready ring: elem %08p, fd %d\n",
- elem, elem->os_pfd.fd);
- APR_RING_INSERT_TAIL(&(pollset->p->ready_ring), elem,
+ DBG2(4, "adding to ready ring: elem %08p, fd %d\n",
+ elem, elem->os_pfd.fd);
+ APR_RING_INSERT_TAIL(&(pollset->p->ready_ring), elem,
asio_elem_t, link);
}
}
@@ -607,7 +607,7 @@ static apr_status_t asio_pollset_poll(apr_pollset_t *pollset,
DBG3(5, "pollset %p elem %p fd %d on prior ready ring\n",
pollset,
elem,
- elem->os_pfd.fd);
+ elem->os_pfd.fd);
APR_RING_REMOVE(elem, link);
@@ -618,11 +618,11 @@ static apr_status_t asio_pollset_poll(apr_pollset_t *pollset,
* there may have been too many ready fd's to return in the
* result set last time. re-poll inline for both cases
*/
-
+
if (elem->state == ASIO_CANCELLED) {
continue; /* do not re-add if it has been _removed */
- }
-
+ }
+
elem->a.aio_cflags = AIO_OK2COMPIMD;
if (0 != (ret = asyncio(elem))) {
@@ -631,7 +631,7 @@ static apr_status_t asio_pollset_poll(apr_pollset_t *pollset,
/* it's ready now */
APR_RING_INSERT_TAIL(&(priv->ready_ring), elem, asio_elem_t,
link);
- }
+ }
else {
DBG2(1, "asyncio() failed, ret: %d, errno: %d\n",
ret, errno);
@@ -645,13 +645,13 @@ static apr_status_t asio_pollset_poll(apr_pollset_t *pollset,
DBG(6, "after prior ready loop\n"); /* chatty w/timeouts, hence 6 */
/* Gather async poll completions that have occurred since the last call */
- while (0 < msgrcv(priv->msg_q, &msg_buff, sizeof(asio_elem_t *), 0,
+ while (0 < msgrcv(priv->msg_q, &msg_buff, sizeof(asio_elem_t *), 0,
IPC_NOWAIT)) {
process_msg(pollset, &msg_buff);
- }
-
+ }
+
/* Suspend if nothing is ready yet. */
- if (APR_RING_EMPTY(&(priv->ready_ring), asio_elem_t, link)) {
+ if (APR_RING_EMPTY(&(priv->ready_ring), asio_elem_t, link)) {
if (timeout >= 0) {
tv.tv_sec = apr_time_sec(timeout);
@@ -664,7 +664,7 @@ static apr_status_t asio_pollset_poll(apr_pollset_t *pollset,
"- blocking for %d seconds %d ns\n",
tv.tv_sec, tv.tv_nsec);
- pollset_unlock_rings(); /* allow other apr_pollset_* calls while blocked */
+ pollset_unlock_rings(); /* allow other apr_pollset_* calls while blocked */
if (0 >= (ret = __msgrcv_timed(priv->msg_q, &msg_buff,
sizeof(asio_elem_t *), 0, NULL, &tv))) {
@@ -682,27 +682,27 @@ static apr_status_t asio_pollset_poll(apr_pollset_t *pollset,
pollset_lock_rings();
process_msg(pollset, &msg_buff);
- }
+ }
- APR_RING_INIT(&priv->prior_ready_ring, asio_elem_t, link);
+ APR_RING_INIT(&priv->prior_ready_ring, asio_elem_t, link);
(*num) = 0;
elem = APR_RING_FIRST(&(priv->ready_ring));
for (i = 0;
-
+
i < priv->size
&& elem != APR_RING_SENTINEL(&(priv->ready_ring), asio_elem_t, link);
- i++) {
- DBG2(5, "ready ring: elem %08p, fd %d\n", elem, elem->os_pfd.fd);
+ i++) {
+ DBG2(5, "ready ring: elem %08p, fd %d\n", elem, elem->os_pfd.fd);
priv->result_set[i] = elem->pfd;
- priv->result_set[i].rtnevents
+ priv->result_set[i].rtnevents
= get_revent(elem->os_pfd.revents);
(*num)++;
elem = APR_RING_NEXT(elem, link);
-
+
#if DEBUG
if (elem == APR_RING_SENTINEL(&(priv->ready_ring), asio_elem_t, link)) {
DBG(5, "end of ready ring reached\n");
@@ -713,15 +713,15 @@ static apr_status_t asio_pollset_poll(apr_pollset_t *pollset,
if (descriptors) {
*descriptors = priv->result_set;
}
-
+
/* if the result size is too small, remember which descriptors
* haven't had results reported yet. we will look
- * at these descriptors on the next apr_pollset_poll call
- */
+ * at these descriptors on the next apr_pollset_poll call
+ */
APR_RING_CONCAT(&priv->prior_ready_ring, &(priv->ready_ring), asio_elem_t, link);
- DBG1(2, "exiting, rv = %d\n", rv);
+ DBG1(2, "exiting, rv = %d\n", rv);
pollset_unlock_rings();
@@ -730,12 +730,12 @@ static apr_status_t asio_pollset_poll(apr_pollset_t *pollset,
static apr_pollset_provider_t impl = {
asio_pollset_create,
- asio_pollset_add,
- asio_pollset_remove,
+ asio_pollset_add,
+ asio_pollset_remove,
asio_pollset_poll,
asio_pollset_cleanup,
"asio"
-};
+};
apr_pollset_provider_t *apr_pollset_provider_aio_msgq = &impl;