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