added Locker._cancelRequestor, reimplemented timeout