27package jau.test.util.parallel.locks.impl;
 
   29import java.io.PrintStream;
 
   30import java.util.ArrayList;
 
   31import java.util.Iterator;
 
   34import jau.test.util.parallel.locks.Lock;
 
   40    private static final ThreadLocal<ArrayList<Throwable>> tlsLockedStacks;
 
   41    private static final List<Throwable> dummy;
 
   44            tlsLockedStacks = 
new ThreadLocal<ArrayList<Throwable>>();
 
   47            tlsLockedStacks = 
null;
 
   48            dummy = 
new ArrayList<Throwable>(0);
 
   54            ArrayList<Throwable> ls = tlsLockedStacks.get();
 
   56                ls = 
new ArrayList<Throwable>();
 
   57                tlsLockedStacks.set(ls);
 
   68            if(
null!=ls && ls.size()>0) {
 
   70                out.println(
"TLSLockedStacks: locks "+ls.size());
 
   71                for(
final Iterator<Throwable> i=ls.iterator(); i.hasNext(); j++) {
 
   73                    i.next().printStackTrace(out);
 
Functionality enabled if Lock#DEBUG is true.
static void dumpRecursiveLockTrace(final PrintStream out)
static List< Throwable > getRecursiveLockTrace()
Specifying a thread blocking lock implementation.
static final boolean DEBUG
Enable via the property jogamp.debug.Lock