make/build-test.xml | 28 ++- make/scripts/check-junit.sh | 53 ++-- make/scripts/make.gluegen.all.solaris-x86.sh | 20 ++ make/scripts/make.gluegen.all.solaris-x86_64.sh | 20 ++ make/scripts/runtest.sh | 10 +- .../com/jogamp/common/jvm/JNILibLoaderBase.java | 18 +- src/java/com/jogamp/common/os/NativeLibrary.java | 21 +- src/java/com/jogamp/common/util/locks/Lock.java | 2 +- src/java/com/jogamp/common/util/locks/LockExt.java | 13 +- .../com/jogamp/common/util/locks/LockFactory.java | 10 +- .../jogamp/common/util/locks/RecursiveLock.java | 2 +- .../util/locks/RecursiveThreadGroupLock.java | 137 ++++++++ src/java/com/jogamp/gluegen/GlueGen.java | 13 +- src/java/com/jogamp/gluegen/JavaEmitter.java | 23 +- .../locks/RecursiveLockImpl01CompleteFair.java | 2 +- .../util/locks/RecursiveLockImpl01Unfairish.java | 113 +++++--- .../common/util/locks/RecursiveLockImplJava5.java | 11 +- .../RecursiveThreadGroupLockImpl01Unfairish.java | 211 +++++++++++++ .../util/locks/TestRecursiveThreadGroupLock01.java | 327 ++++++++++++++++++++ .../gluegen/test/junit/generation/BaseClass.java | 28 ++- .../jogamp/gluegen/test/junit/generation/test1.c | 3 +- .../jogamp/gluegen/test/junit/generation/test1.h | 5 + 22 files changed, 963 insertions(+), 107 deletions(-) create mode 100755 make/scripts/make.gluegen.all.solaris-x86.sh create mode 100755 make/scripts/make.gluegen.all.solaris-x86_64.sh create mode 100644 src/java/com/jogamp/common/util/locks/RecursiveThreadGroupLock.java create mode 100644 src/java/jogamp/common/util/locks/RecursiveThreadGroupLockImpl01Unfairish.java create mode 100644 src/junit/com/jogamp/common/util/locks/TestRecursiveThreadGroupLock01.java