|
@@ -33,7 +33,7 @@ import java.awt.Dimension;
|
33
|
33
|
import java.awt.event.ActionEvent;
|
34
|
34
|
import java.awt.event.ActionListener;
|
35
|
35
|
import java.util.List;
|
36
|
|
-import java.util.concurrent.Semaphore;
|
|
36
|
+import java.util.concurrent.CountDownLatch;
|
37
|
37
|
|
38
|
38
|
import javax.swing.BorderFactory;
|
39
|
39
|
import javax.swing.Box;
|
|
@@ -84,7 +84,7 @@ public final class FatalErrorDialog extends JDialog implements ActionListener,
|
84
|
84
|
/** Stack trace scroll pane. */
|
85
|
85
|
private JScrollPane scrollPane;
|
86
|
86
|
/** Error status semaphore. */
|
87
|
|
- private final Semaphore errorSemaphore;
|
|
87
|
+ private final CountDownLatch errorSemaphore;
|
88
|
88
|
|
89
|
89
|
/**
|
90
|
90
|
* Creates a new fatal error dialog.
|
|
@@ -92,7 +92,7 @@ public final class FatalErrorDialog extends JDialog implements ActionListener,
|
92
|
92
|
* @param error Error
|
93
|
93
|
*/
|
94
|
94
|
public FatalErrorDialog(final ProgramError error, final ErrorManager errorManager,
|
95
|
|
- final Semaphore errorSemaphore) {
|
|
95
|
+ final CountDownLatch errorSemaphore) {
|
96
|
96
|
super(null, Dialog.ModalityType.TOOLKIT_MODAL);
|
97
|
97
|
|
98
|
98
|
setModal(true);
|
|
@@ -236,7 +236,7 @@ public final class FatalErrorDialog extends JDialog implements ActionListener,
|
236
|
236
|
} else {
|
237
|
237
|
dispose();
|
238
|
238
|
}
|
239
|
|
- errorSemaphore.release();
|
|
239
|
+ errorSemaphore.countDown();
|
240
|
240
|
}
|
241
|
241
|
|
242
|
242
|
/**
|
|
@@ -305,7 +305,7 @@ public final class FatalErrorDialog extends JDialog implements ActionListener,
|
305
|
305
|
restartButton.setEnabled(status.isTerminal());
|
306
|
306
|
updateSendButtonText(status);
|
307
|
307
|
});
|
308
|
|
- errorSemaphore.release();
|
|
308
|
+ errorSemaphore.countDown();
|
309
|
309
|
}
|
310
|
310
|
}
|
311
|
311
|
|