Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- final Thread thread = Thread.currentThread();
- final Field threadLocals = AccessController.doPrivileged(new DeclaredFieldAction(Thread.class, "threadLocals"));
- long tmpThreadLocalMapOffs = 0;
- if (threadLocals != null) {
- tmpThreadLocalMapOffs = unsafe.objectFieldOffset(threadLocals);
- }
- final long threadLocalMapOffs = tmpThreadLocalMapOffs;
- final Field inheritableThreadLocals = AccessController
- .doPrivileged(new DeclaredFieldAction(Thread.class, "inheritableThreadLocals"));
- long tmpInheritableThreadLocalsOffs = 0;
- if (inheritableThreadLocals != null) {
- tmpInheritableThreadLocalsOffs = unsafe.objectFieldOffset(inheritableThreadLocals);
- }
- final long inheritableThreadLocalMapOffs = tmpInheritableThreadLocalsOffs;
- if (threadLocalMapOffs != 0)
- unsafe.putObject(thread, threadLocalMapOffs, null);
- if (inheritableThreadLocalMapOffs != 0)
- unsafe.putObject(thread, inheritableThreadLocalMapOffs, null);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement