Advertisement
Guest User

Untitled

a guest
Jun 19th, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.11 KB | None | 0 0
  1. final Thread thread = Thread.currentThread();
  2.  
  3. final Field threadLocals = AccessController.doPrivileged(new DeclaredFieldAction(Thread.class, "threadLocals"));
  4.  
  5. long tmpThreadLocalMapOffs = 0;
  6. if (threadLocals != null) {
  7. tmpThreadLocalMapOffs = unsafe.objectFieldOffset(threadLocals);
  8. }
  9.  
  10. final long threadLocalMapOffs = tmpThreadLocalMapOffs;
  11.  
  12. final Field inheritableThreadLocals = AccessController
  13. .doPrivileged(new DeclaredFieldAction(Thread.class, "inheritableThreadLocals"));
  14.  
  15. long tmpInheritableThreadLocalsOffs = 0;
  16. if (inheritableThreadLocals != null) {
  17. tmpInheritableThreadLocalsOffs = unsafe.objectFieldOffset(inheritableThreadLocals);
  18. }
  19. final long inheritableThreadLocalMapOffs = tmpInheritableThreadLocalsOffs;
  20. if (threadLocalMapOffs != 0)
  21. unsafe.putObject(thread, threadLocalMapOffs, null);
  22. if (inheritableThreadLocalMapOffs != 0)
  23. unsafe.putObject(thread, inheritableThreadLocalMapOffs, null);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement