Return-Path: Delivered-To: apmail-cocoon-cvs-archive@www.apache.org Received: (qmail 19713 invoked from network); 21 May 2005 07:49:22 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 21 May 2005 07:49:22 -0000 Received: (qmail 34845 invoked by uid 500); 21 May 2005 07:49:21 -0000 Delivered-To: apmail-cocoon-cvs-archive@cocoon.apache.org Received: (qmail 34751 invoked by uid 500); 21 May 2005 07:49:20 -0000 Mailing-List: contact cvs-help@cocoon.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@cocoon.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list cvs@cocoon.apache.org Received: (qmail 34716 invoked by uid 99); 21 May 2005 07:49:19 -0000 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from minotaur.apache.org (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.28) with SMTP; Sat, 21 May 2005 00:49:18 -0700 Received: (qmail 19690 invoked by uid 65534); 21 May 2005 07:49:16 -0000 Message-ID: <20050521074916.19689.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Subject: svn commit: r171201 - /cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/components/flow/ContinuationsManagerImpl.java Date: Sat, 21 May 2005 07:49:16 -0000 To: cvs@cocoon.apache.org From: lgawron@apache.org X-Mailer: svnmailer-1.0.0-dev X-Virus-Checked: Checked X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: lgawron Date: Sat May 21 00:49:15 2005 New Revision: 171201 URL: http://svn.apache.org/viewcvs?rev=3D171201&view=3Drev Log: avoid ConcurrentModificationException Modified: cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/components/flow= /ContinuationsManagerImpl.java Modified: cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/component= s/flow/ContinuationsManagerImpl.java URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/java/or= g/apache/cocoon/components/flow/ContinuationsManagerImpl.java?rev=3D171201&= r1=3D171200&r2=3D171201&view=3Ddiff =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/components/flow= /ContinuationsManagerImpl.java (original) +++ cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/components/flow= /ContinuationsManagerImpl.java Sat May 21 00:49:15 2005 @@ -482,10 +482,13 @@ */ private void invalidateContinuations( WebContinuationsHolder continuationsHolder) { - Set continuationIds =3D continuationsHolder.getContinuationIds(); - Iterator idsIter =3D continuationIds.iterator(); - while (idsIter.hasNext()) { - WebContinuation wk =3D continuationsHolder.get(idsIter.next()); + // TODO: this avoids ConcurrentModificationException, still this i= s not + // the best solution and should be changed + Object[] continuationIds =3D continuationsHolder.getContinuationId= s() + .toArray(); + =20 + for (int i =3D 0; i < continuationIds.length; i++) { + WebContinuation wk =3D continuationsHolder.get(continuationIds= [i]); if (wk !=3D null) { _detach(wk); _invalidate(continuationsHolder, wk);