non-deterministic timing problems in the use of console input in the
interactions pane, I read the code in AbstractConsoleController.java,
InteractionsConsoleController.java and ConsoleController.java looking
for synchronization errors. I discovered that many apparent shared
fields were not marked either as volatile or final, so I added
volatile or final attributes to all such field declarations and tried
to reproduce the timing problem mentioned in bug #1604928. I did not
succeed.
This change appears to either fix the timing bug or make its
occurrence far less likely. The following files were modified
M src/edu/rice/cs/drjava/ui/MainFrame.java
M src/edu/rice/cs/drjava/ui/InteractionsController.java
M src/edu/rice/cs/drjava/ui/AbstractConsoleController.java
M src/edu/rice/cs/util/swing/AsyncTaskLauncher.java