First time in months and I caused a conflct! Peter
On 10/24/05, Matt Benson <[EMAIL PROTECTED]> wrote: > > ha, I wondered why I got weird conflicts. Thought my > eols got screwed up, didn't know Peter was modifying > at the same time! :) > > -Matt > > --- [EMAIL PROTECTED] wrote: > > > Author: mbenson > > Date: Mon Oct 24 08:18:52 2005 > > New Revision: 328083 > > > > URL: > > http://svn.apache.org/viewcvs?rev=328083&view=rev > > Log: > > Bugzilla 37184; submitted by Frank Harnack. Also > > replaced extra listener Vector instances by > > synchronization for ConcurrentModificationException > > guards. > > > > Modified: > > > > > ant/core/trunk/src/main/org/apache/tools/ant/Project.java > > > > Modified: > > > ant/core/trunk/src/main/org/apache/tools/ant/Project.java > > URL: > > > > http://svn.apache.org/viewcvs/ant/core/trunk/src/main/org/apache/tools/ant/Project.java?rev=328083&r1=328082&r2=328083&view=diff > > > > ============================================================================== > > --- > > > ant/core/trunk/src/main/org/apache/tools/ant/Project.java > > (original) > > +++ > > > ant/core/trunk/src/main/org/apache/tools/ant/Project.java > > Mon Oct 24 08:18:52 2005 > > @@ -324,18 +324,12 @@ > > * be notified of build events for this > > project. > > * > > * @param listener The listener to add to the > > list. > > - * Must not be > > <code>null</code>. > > + * Ignored if > > <code>null</code>. > > */ > > public synchronized void > > addBuildListener(BuildListener listener) { > > - // If the listeners already has this > > listener, do nothing > > - if (listeners.contains(listener)) { > > - return; > > + if (!(listener == null || > > listeners.contains(listener))) { > > + listeners.add(listener); > > } > > - // create a new Vector to avoid > > ConcurrentModificationExc when > > - // the listeners get added/removed while we > > are in fire > > - Vector newListeners = getBuildListeners(); > > - newListeners.addElement(listener); > > - listeners = newListeners; > > } > > > > /** > > @@ -346,11 +340,7 @@ > > * Should not be > > <code>null</code>. > > */ > > public synchronized void > > removeBuildListener(BuildListener listener) { > > - // create a new Vector to avoid > > ConcurrentModificationExc when > > - // the listeners get added/removed while we > > are in fire > > - Vector newListeners = getBuildListeners(); > > - newListeners.removeElement(listener); > > - listeners = newListeners; > > + listeners.remove(listener); > > } > > > > /** > > @@ -1847,7 +1837,7 @@ > > * Send a "build started" event > > * to the build listeners for this project. > > */ > > - public void fireBuildStarted() { > > + public synchronized void fireBuildStarted() { > > BuildEvent event = new BuildEvent(this); > > Iterator iter = listeners.iterator(); > > while (iter.hasNext()) { > > @@ -1863,7 +1853,7 @@ > > * failure. May be > > <code>null</code>, indicating > > * a successful build. > > */ > > - public void fireBuildFinished(Throwable > > exception) { > > + public synchronized void > > fireBuildFinished(Throwable exception) { > > BuildEvent event = new BuildEvent(this); > > event.setException(exception); > > Iterator iter = listeners.iterator(); > > @@ -1879,7 +1869,7 @@ > > * > > * @since Ant 1.6.2 > > */ > > - public void fireSubBuildStarted() { > > + public synchronized void fireSubBuildStarted() > > { > > BuildEvent event = new BuildEvent(this); > > Iterator iter = listeners.iterator(); > > while (iter.hasNext()) { > > @@ -1899,7 +1889,7 @@ > > * > > * @since Ant 1.6.2 > > */ > > - public void fireSubBuildFinished(Throwable > > exception) { > > + public synchronized void > > fireSubBuildFinished(Throwable exception) { > > BuildEvent event = new BuildEvent(this); > > event.setException(exception); > > Iterator iter = listeners.iterator(); > > @@ -1918,7 +1908,7 @@ > > * @param target The target which is starting > > to build. > > * Must not be <code>null</code>. > > */ > > - protected void fireTargetStarted(Target target) > > { > > + protected synchronized void > > fireTargetStarted(Target target) { > > BuildEvent event = new BuildEvent(target); > > Iterator iter = listeners.iterator(); > > while (iter.hasNext()) { > > @@ -1937,7 +1927,8 @@ > > * failure. May be > > <code>null</code>, indicating > > * a successful build. > > */ > > - protected void fireTargetFinished(Target > > target, Throwable exception) { > > + protected synchronized void > > fireTargetFinished(Target target, > > + > > Throwable exception) { > > BuildEvent event = new BuildEvent(target); > > event.setException(exception); > > Iterator iter = listeners.iterator(); > > @@ -1954,7 +1945,7 @@ > > * @param task The target which is starting to > > execute. > > * Must not be <code>null</code>. > > */ > > - protected void fireTaskStarted(Task task) { > > + protected synchronized void > > fireTaskStarted(Task task) { > > // register this as the current task on the > > current thread. > > registerThreadTask(Thread.currentThread(), > > task); > > BuildEvent event = new BuildEvent(task); > > @@ -1975,7 +1966,7 @@ > > * failure. May be > > <code>null</code>, indicating > > * a successful build. > > */ > > - protected void fireTaskFinished(Task task, > > Throwable exception) { > > + protected synchronized void > > fireTaskFinished(Task task, Throwable exception) { > > registerThreadTask(Thread.currentThread(), > > null); > > System.out.flush(); > > System.err.flush(); > > @@ -1999,8 +1990,9 @@ > > * @param message The message to send. Should > > not be <code>null</code>. > > * @param priority The priority of the message. > > */ > > - private void fireMessageLoggedEvent(BuildEvent > > event, String message, > > - int > > priority) { > > + private synchronized void > > fireMessageLoggedEvent(BuildEvent event, > > + > > String message, > > + > > int priority) { > > > > if (message.endsWith(StringUtils.LINE_SEP)) > > { > > int endIndex = message.length() - > > StringUtils.LINE_SEP.length(); > > @@ -2047,8 +2039,8 @@ > > * @param message The message to send. Should > > not be <code>null</code>. > > * @param priority The priority of the message. > > */ > > - protected void fireMessageLogged(Project > > project, String message, > > - int priority) > > { > > + protected synchronized void > > fireMessageLogged(Project project, String message, > > + > > int > === message truncated === > > > > > > __________________________________ > Yahoo! Mail - PC Magazine Editors' Choice 2005 > http://mail.yahoo.com > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >