// assumptions: // -pingSource() stays constant within a stack frame (so you can cache it) // -all changes happen with tempSetPingSource // -multiple threads can share a PingSource static PingSource pingSource() { ret pingSource_tl()!; } static PingSource pingSource(Thread thread) { ret pingSource_tl().get(thread); }