/// <summary> /// Returns the blocker object supplied to the most recent /// invocation of a park method that has not yet unblocked, or null /// if not blocked. The value returned is just a momentary /// snapshot -- the thread may have since unblocked or blocked on a /// different blocker object. /// </summary> /// <param name="t"> the thread </param> /// <returns> the blocker </returns> /// <exception cref="NullPointerException"> if argument is null /// @since 1.6 </exception> public static Object GetBlocker(Thread t) { if (t == null) { throw new NullPointerException(); } return(UNSAFE.getObjectVolatile(t, ParkBlockerOffset)); }