- pset = processor->processor_set;
- if (pset != PROCESSOR_SET_NULL) {
- simple_lock(&pset->sched_lock);
-
- /*
- * If the processor is dispatching, let it finish.
- */
- while (processor->state == PROCESSOR_DISPATCHING) {
- simple_unlock(&pset->sched_lock);
- delay(1);
- simple_lock(&pset->sched_lock);
- }
-
- /*
- * Success if already being shutdown.
- */
- if (processor->state == PROCESSOR_SHUTDOWN) {
- simple_unlock(&pset->sched_lock);
- processor_unlock(processor);
- splx(s);
-
- return (KERN_SUCCESS);
- }