Return-Path: Delivered-To: apmail-jakarta-httpcomponents-commits-archive@www.apache.org Received: (qmail 68567 invoked from network); 23 Nov 2007 08:38:13 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 23 Nov 2007 08:38:13 -0000 Received: (qmail 25923 invoked by uid 500); 23 Nov 2007 08:38:00 -0000 Delivered-To: apmail-jakarta-httpcomponents-commits-archive@jakarta.apache.org Received: (qmail 25905 invoked by uid 500); 23 Nov 2007 08:38:00 -0000 Mailing-List: contact httpcomponents-commits-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: httpcomponents-dev@jakarta.apache.org Delivered-To: mailing list httpcomponents-commits@jakarta.apache.org Received: (qmail 25896 invoked by uid 99); 23 Nov 2007 08:38:00 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 23 Nov 2007 00:38:00 -0800 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 23 Nov 2007 08:37:47 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 1AB131A983A; Fri, 23 Nov 2007 00:37:41 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r597592 - in /jakarta/httpcomponents/httpcore/trunk: ./ module-niossl/src/main/java/org/apache/http/impl/nio/reactor/ Date: Fri, 23 Nov 2007 08:37:40 -0000 To: httpcomponents-commits@jakarta.apache.org From: olegk@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20071123083741.1AB131A983A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: olegk Date: Fri Nov 23 00:37:39 2007 New Revision: 597592 URL: http://svn.apache.org/viewvc?rev=597592&view=rev Log: HTTPCORE-130: Fixed over-synchronization bug leading to a thread deadlock condition in SSL IOEventDispatch implementations. Modified: jakarta/httpcomponents/httpcore/trunk/RELEASE_NOTES.txt jakarta/httpcomponents/httpcore/trunk/module-niossl/src/main/java/org/apache/http/impl/nio/reactor/SSLClientIOEventDispatch.java jakarta/httpcomponents/httpcore/trunk/module-niossl/src/main/java/org/apache/http/impl/nio/reactor/SSLServerIOEventDispatch.java Modified: jakarta/httpcomponents/httpcore/trunk/RELEASE_NOTES.txt URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpcore/trunk/RELEASE_NOTES.txt?rev=597592&r1=597591&r2=597592&view=diff ============================================================================== --- jakarta/httpcomponents/httpcore/trunk/RELEASE_NOTES.txt (original) +++ jakarta/httpcomponents/httpcore/trunk/RELEASE_NOTES.txt Fri Nov 23 00:37:39 2007 @@ -1,5 +1,9 @@ Changes since 4.0 Alpha 6 +* [HTTPCORE-130] Fixed over-synchronization bug leading to a thread deadlock + condition in SSL IOEventDispatch implementations. + Contributed by Oleg Kalnichevski + * [HTTPCORE-37] HttpParams beans Contributed by Stojce Dimski Modified: jakarta/httpcomponents/httpcore/trunk/module-niossl/src/main/java/org/apache/http/impl/nio/reactor/SSLClientIOEventDispatch.java URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpcore/trunk/module-niossl/src/main/java/org/apache/http/impl/nio/reactor/SSLClientIOEventDispatch.java?rev=597592&r1=597591&r2=597592&view=diff ============================================================================== --- jakarta/httpcomponents/httpcore/trunk/module-niossl/src/main/java/org/apache/http/impl/nio/reactor/SSLClientIOEventDispatch.java (original) +++ jakarta/httpcomponents/httpcore/trunk/module-niossl/src/main/java/org/apache/http/impl/nio/reactor/SSLClientIOEventDispatch.java Fri Nov 23 00:37:39 2007 @@ -136,12 +136,10 @@ (SSLIOSession) session.getAttribute(SSL_SESSION); try { - synchronized (sslSession) { - if (sslSession.isAppInputReady()) { - conn.consumeInput(this.handler); - } - sslSession.inboundTransport(); + if (sslSession.isAppInputReady()) { + conn.consumeInput(this.handler); } + sslSession.inboundTransport(); } catch (IOException ex) { this.handler.exception(conn, ex); sslSession.shutdown(); @@ -155,12 +153,10 @@ (SSLIOSession) session.getAttribute(SSL_SESSION); try { - synchronized (sslSession) { - if (sslSession.isAppOutputReady()) { - conn.produceOutput(this.handler); - } - sslSession.outboundTransport(); + if (sslSession.isAppOutputReady()) { + conn.produceOutput(this.handler); } + sslSession.outboundTransport(); } catch (IOException ex) { this.handler.exception(conn, ex); sslSession.shutdown(); Modified: jakarta/httpcomponents/httpcore/trunk/module-niossl/src/main/java/org/apache/http/impl/nio/reactor/SSLServerIOEventDispatch.java URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpcore/trunk/module-niossl/src/main/java/org/apache/http/impl/nio/reactor/SSLServerIOEventDispatch.java?rev=597592&r1=597591&r2=597592&view=diff ============================================================================== --- jakarta/httpcomponents/httpcore/trunk/module-niossl/src/main/java/org/apache/http/impl/nio/reactor/SSLServerIOEventDispatch.java (original) +++ jakarta/httpcomponents/httpcore/trunk/module-niossl/src/main/java/org/apache/http/impl/nio/reactor/SSLServerIOEventDispatch.java Fri Nov 23 00:37:39 2007 @@ -135,12 +135,10 @@ (SSLIOSession) session.getAttribute(SSL_SESSION); try { - synchronized (sslSession) { - if (sslSession.isAppInputReady()) { - conn.consumeInput(this.handler); - } - sslSession.inboundTransport(); + if (sslSession.isAppInputReady()) { + conn.consumeInput(this.handler); } + sslSession.inboundTransport(); } catch (IOException ex) { this.handler.exception(conn, ex); sslSession.shutdown(); @@ -154,12 +152,10 @@ (SSLIOSession) session.getAttribute(SSL_SESSION); try { - synchronized (sslSession) { - if (sslSession.isAppOutputReady()) { - conn.produceOutput(this.handler); - } - sslSession.outboundTransport(); + if (sslSession.isAppOutputReady()) { + conn.produceOutput(this.handler); } + sslSession.outboundTransport(); } catch (IOException ex) { this.handler.exception(conn, ex); sslSession.shutdown();