You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by co...@apache.org on 2014/12/19 23:21:59 UTC
svn commit: r1646891 - in /apr/apr/trunk: CHANGES poll/unix/z_asio.c
Author: covener
Date: Fri Dec 19 22:21:59 2014
New Revision: 1646891
URL: http://svn.apache.org/r1646891
Log:
apr_pollset state fixes for z/OS
Submitted By: Pat Odonnell <patod us ibm com>
Committed By: covener
Modified:
apr/apr/trunk/CHANGES
apr/apr/trunk/poll/unix/z_asio.c
Modified: apr/apr/trunk/CHANGES
URL: http://svn.apache.org/viewvc/apr/apr/trunk/CHANGES?rev=1646891&r1=1646890&r2=1646891&view=diff
==============================================================================
--- apr/apr/trunk/CHANGES [utf-8] (original)
+++ apr/apr/trunk/CHANGES [utf-8] Fri Dec 19 22:21:59 2014
@@ -1,6 +1,10 @@
-*- coding: utf-8 -*-
Changes for APR 2.0.0
+ *) apr_pollset: On z/OS, threadsafe apr_pollset_poll() may return
+ "EDC8102I Operation would block" under load.
+ [Pat Odonnell patod us.ibm.com ]
+
*) apr_escape: Correctly calculate the size of the returned string in
apr_escape_path and set the correct return value in case we actually
escape the string. [<aduryagin gmail.com>] PR 57230.
Modified: apr/apr/trunk/poll/unix/z_asio.c
URL: http://svn.apache.org/viewvc/apr/apr/trunk/poll/unix/z_asio.c?rev=1646891&r1=1646890&r2=1646891&view=diff
==============================================================================
--- apr/apr/trunk/poll/unix/z_asio.c (original)
+++ apr/apr/trunk/poll/unix/z_asio.c Fri Dec 19 22:21:59 2014
@@ -379,6 +379,7 @@ static apr_status_t asio_pollset_add(apr
APR_RING_REMOVE(elem, link);
DBG1(3, "used recycled memory at %08p\n", elem);
elem->state = ASIO_INIT;
+ elem->a.aio_cflags = 0;
}
else {
elem = (asio_elem_t *) apr_pcalloc(pollset->pool, sizeof(asio_elem_t));
@@ -659,6 +660,7 @@ static apr_status_t asio_pollset_poll(ap
if (ret == 1) {
DBG(4, "asyncio() completed inline\n");
/* it's ready now */
+ elem->state = ASIO_COMPLETE;
APR_RING_INSERT_TAIL(&(priv->ready_ring), elem, asio_elem_t,
link);
}