summaryrefslogtreecommitdiffstats
path: root/src/nativewindow
diff options
context:
space:
mode:
Diffstat (limited to 'src/nativewindow')
-rw-r--r--src/nativewindow/classes/com/sun/nativewindow/impl/jawt/JAWTWindow.java8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/nativewindow/classes/com/sun/nativewindow/impl/jawt/JAWTWindow.java b/src/nativewindow/classes/com/sun/nativewindow/impl/jawt/JAWTWindow.java
index e821f9b3a..b0548bb14 100644
--- a/src/nativewindow/classes/com/sun/nativewindow/impl/jawt/JAWTWindow.java
+++ b/src/nativewindow/classes/com/sun/nativewindow/impl/jawt/JAWTWindow.java
@@ -94,11 +94,13 @@ public abstract class JAWTWindow implements NativeWindow {
private volatile Exception lockedStack = null;
public synchronized int lockSurface() throws NativeWindowException {
- // We have to be the owner of the JAWT ToolkitLock 'lock' to benefit from the
- // recursive lock capabitlites. Otherwise a followup ToolkitLock would
- // deadlock, since we already have locked JAWT with the surface lock.
+ // We have to be the owner of the JAWT ToolkitLock 'lock' to benefit from it's
+ // recursive and blocking lock capabitlites.
+ // Otherwise a followup ToolkitLock would deadlock,
+ // since we already have locked JAWT with the surface lock.
NativeWindowFactory.getDefaultFactory().getToolkitLock().lock();
+ // recursion not necessary here, due to the blocking ToolkitLock ..
if (null!=lockedStack) {
lockedStack.printStackTrace();
throw new NativeWindowException("JAWT Surface already locked - "+Thread.currentThread().getName()+" "+this);