don't forget to deRefTSO() in tryWakeupThread()