Menu

Commit [r4268]  Maximize  Restore  History

This is an attempt to address bug [ 1831946 ] Error after compilation.

I have changed the way listeners are removed: If the current thread
can acquire the write lock for the listener list, then the listener
is removed right away. If the write lock cannot be acquired, because
the current thread already owns the read or write lock, then the
removal is postponed. It is executed in another thread, which waits
for the write lock.

This makes it unnecessary to put the call to remoteListener inside
an invokeLater, which did not always achieve its goal to postpone
removal until the read lock had been released.

M src/edu/rice/cs/drjava/model/DefaultGlobalModel.java
M src/edu/rice/cs/drjava/model/EventNotifier.java
M src/edu/rice/cs/util/ReaderWriterLock.java

mgricken 2007-11-29

changed /trunk/drjava/src/edu/rice/cs/drjava/model/DefaultGlobalModel.java
changed /trunk/drjava/src/edu/rice/cs/drjava/model/EventNotifier.java
changed /trunk/drjava/src/edu/rice/cs/util/ReaderWriterLock.java
/trunk/drjava/src/edu/rice/cs/drjava/model/DefaultGlobalModel.java Diff Switch to side-by-side view
Loading...
/trunk/drjava/src/edu/rice/cs/drjava/model/EventNotifier.java Diff Switch to side-by-side view
Loading...
/trunk/drjava/src/edu/rice/cs/util/ReaderWriterLock.java Diff Switch to side-by-side view
Loading...
MongoDB Logo MongoDB