Refactor: scheduler: make applying shutdown lock a variant method
apply_shutdown_lock() behaved differently according to variant, which is a good sign it should be a variant method.