Author: kkolinko
Date: Fri Apr 16 14:33:13 2010
New Revision: 934922
URL: http://svn.apache.org/viewvc?rev=934922&view=rev
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=48843
Prevent possible deadlock for worker allocation in APR connectors
Modified:
tomcat/tc5.5.x/trunk/STATUS.txt
tomcat/tc5.5.x/trunk/connectors/util/java/org/apache/tomcat/util/net/AprEndpoint.java
tomcat/tc5.5.x/trunk/container/webapps/docs/changelog.xml
Modified: tomcat/tc5.5.x/trunk/STATUS.txt
URL:
http://svn.apache.org/viewvc/tomcat/tc5.5.x/trunk/STATUS.txt?rev=934922&r1=934921&r2=934922&view=diff
==============================================================================
--- tomcat/tc5.5.x/trunk/STATUS.txt (original)
+++ tomcat/tc5.5.x/trunk/STATUS.txt Fri Apr 16 14:33:13 2010
@@ -120,9 +120,3 @@ PATCHES PROPOSED TO BACKPORT:
(there is no link above):
http://svn.apache.org/viewvc?rev=928732&view=rev
-1:
-
-* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=48843
- Prevent possible deadlock for worker allocation in APR
- https://issues.apache.org/bugzilla/attachment.cgi?id=25226
- +1: kkolinko, markt, jfclere, rjung
- -1:
Modified:
tomcat/tc5.5.x/trunk/connectors/util/java/org/apache/tomcat/util/net/AprEndpoint.java
URL:
http://svn.apache.org/viewvc/tomcat/tc5.5.x/trunk/connectors/util/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=934922&r1=934921&r2=934922&view=diff
==============================================================================
---
tomcat/tc5.5.x/trunk/connectors/util/java/org/apache/tomcat/util/net/AprEndpoint.java
(original)
+++
tomcat/tc5.5.x/trunk/connectors/util/java/org/apache/tomcat/util/net/AprEndpoint.java
Fri Apr 16 14:33:13 2010
@@ -923,18 +923,17 @@ public class AprEndpoint {
*/
protected Worker getWorkerThread() {
// Allocate a new worker thread
- Worker workerThread = createWorkerThread();
- while (workerThread == null) {
- try {
- synchronized (workers) {
+ synchronized (workers) {
+ Worker workerThread;
+ while ((workerThread = createWorkerThread()) == null) {
+ try {
workers.wait();
+ } catch (InterruptedException e) {
+ // Ignore
}
- } catch (InterruptedException e) {
- // Ignore
}
- workerThread = createWorkerThread();
+ return workerThread;
}
- return workerThread;
}
Modified: tomcat/tc5.5.x/trunk/container/webapps/docs/changelog.xml
URL:
http://svn.apache.org/viewvc/tomcat/tc5.5.x/trunk/container/webapps/docs/changelog.xml?rev=934922&r1=934921&r2=934922&view=diff
==============================================================================
--- tomcat/tc5.5.x/trunk/container/webapps/docs/changelog.xml (original)
+++ tomcat/tc5.5.x/trunk/container/webapps/docs/changelog.xml Fri Apr 16
14:33:13 2010
@@ -29,10 +29,14 @@
<author email="[email protected]">Filip Hanik</author>
<author email="[email protected]">Peter Rossbach</author>
<author email="[email protected]">Konstantin Kolinko</author>
+ <author email="[email protected]">Keiichi Fujino</author>
<title>Changelog</title>
</properties>
<body>
+<!-- Section names:
+ General, Catalina, Coyote, Jasper, Cluster, Webapps
+-->
<section name="Tomcat 5.5.30 (fhanik)">
<subsection name="General">
<changelog>
@@ -63,6 +67,10 @@
the Listener element has been specified in server.xml.
(fhanik/kkolinko)
</fix>
<fix>
+ <bug>48843</bug>: Prevent possible deadlock for worker allocation in
+ APR connectors. (kkolinko)
+ </fix>
+ <fix>
Use chunked encoding for http 1.1 responses with no content-length
(regardless of keep-alive) so client can differentiate between complete
and partial responses. (markt)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]