Skip to content
Mach trap#-59

svc · mach trap -59

swtch_pri

Yield variant that temporarily depresses the caller's priority while giving up the CPU.

Prototype

kern_return_t swtch_pri(/* 0 args */);

Returns: kern_return_t

Version history

XNU tagmacOS#
xnu-123.5macOS 10.0 Cheetah-58
xnu-201macOS 10.1 Puma-58
xnu-344macOS 10.2 Jaguar-58
xnu-517macOS 10.3 Panther-58
xnu-792macOS 10.4 Tiger-59
xnu-1228macOS 10.5 Leopard-59
xnu-1456.1.26macOS 10.6 Snow Leopard-59
xnu-1699.24.8macOS 10.7 Lion-59
xnu-2050.18.24macOS 10.8 Mountain Lion-59
xnu-2422.115.4macOS 10.9 Mavericks-59
xnu-2782.40.9macOS 10.10 Yosemite-59
xnu-3247.1.106macOS 10.11 El Capitan-59
xnu-3789.1.32macOS 10.12 Sierra-59
xnu-4570.1.46macOS 10.13 High Sierra-59
xnu-4903.221.2macOS 10.14 Mojave-59
xnu-6153.11.26macOS 10.15 Catalina-59
xnu-7195.50.7.100.1macOS 11.0 Big Sur-59
xnu-8019.41.5macOS 12.0 Monterey-59
xnu-8792.41.9macOS 13.0 Ventura-59
xnu-10002.1.13macOS 14.0 Sonoma-59
xnu-11215.1.10macOS 15.0 Sequoia-59
xnu-11417.101.15macOS 15.4 Sequoia-59
xnu-12377.1.9macOS 26.0 Tahoe-59
xnu-10002.41.9-59
xnu-10002.61.3-59
xnu-10002.81.5-59
xnu-10063.101.15-59
xnu-10063.121.3-59
xnu-10063.141.1-59
xnu-11215.41.3-59
xnu-11215.61.5-59
xnu-11215.81.4-59
xnu-11417.121.6-59
xnu-11417.140.69-59
xnu-1228.0.2-59
xnu-1228.12.14-59
xnu-1228.15.4-59
xnu-1228.3.13-59
xnu-1228.5.18-59
xnu-1228.5.20-59
xnu-1228.7.58-59
xnu-1228.9.59-59
xnu-12377.101.15-59
xnu-12377.41.6-59
xnu-12377.61.12-59
xnu-12377.81.4-59
xnu-124.1-58
xnu-124.13-58
xnu-124.7-58
xnu-1486.2.11-59
xnu-1504.15.3-59
xnu-1504.3.12-59
xnu-1504.7.4-59
xnu-1504.9.17-59
xnu-1504.9.26-59
xnu-1504.9.37-59
xnu-1699.22.73-59
xnu-1699.22.81-59
xnu-1699.24.23-59
xnu-1699.26.8-59
xnu-1699.32.7-59
xnu-201.14-58
xnu-201.19-58
xnu-201.19.3-58
xnu-201.42.3-58
xnu-201.5-58
xnu-2050.22.13-59
xnu-2050.24.15-59
xnu-2050.48.11-59
xnu-2050.7.9-59
xnu-2050.9.2-59
xnu-2422.1.72-59
xnu-2422.100.13-59
xnu-2422.110.17-59
xnu-2422.90.20-59
xnu-2782.1.97-59
xnu-2782.10.72-59
xnu-2782.20.48-59
xnu-2782.30.5-59
xnu-3247.10.11-59
xnu-3248.20.55-59
xnu-3248.30.4-59
xnu-3248.40.184-59
xnu-3248.50.21-59
xnu-3248.60.10-59
xnu-344.12.2-58
xnu-344.2-58
xnu-344.21.73-58
xnu-344.21.74-58
xnu-344.23-58
xnu-344.26-58
xnu-344.32-58
xnu-344.34-58
xnu-344.49-58
xnu-3789.21.4-59
xnu-3789.31.2-59
xnu-3789.41.3-59
xnu-3789.51.2-59
xnu-3789.60.24-59
xnu-3789.70.16-59
xnu-4570.20.62-59
xnu-4570.31.3-59
xnu-4570.41.2-59
xnu-4570.51.1-59
xnu-4570.61.1-59
xnu-4570.71.2-59
xnu-4903.231.4-59
xnu-4903.241.1-59
xnu-4903.270.47-59
xnu-517.11.1-58
xnu-517.12.7-58
xnu-517.3.15-58
xnu-517.3.7-58
xnu-517.7.21-58
xnu-517.7.7-58
xnu-517.9.4-58
xnu-517.9.5-58
xnu-6153.101.6-59
xnu-6153.121.1-59
xnu-6153.141.1-59
xnu-6153.41.3-59
xnu-6153.61.1-59
xnu-6153.81.5-59
xnu-7195.101.1-59
xnu-7195.121.3-59
xnu-7195.141.2-59
xnu-7195.60.75-59
xnu-7195.81.3-59
xnu-792.1.5-59
xnu-792.10.96-59
xnu-792.12.6-59
xnu-792.13.8-59
xnu-792.17.14-59
xnu-792.18.15-59
xnu-792.2.4-59
xnu-792.21.3-59
xnu-792.22.5-59
xnu-792.24.17-59
xnu-792.25.20-59
xnu-792.6.22-59
xnu-792.6.56-59
xnu-792.6.61-59
xnu-792.6.70-59
xnu-792.6.76-59
xnu-8019.61.5-59
xnu-8019.80.24-59
xnu-8020.101.4-59
xnu-8020.121.3-59
xnu-8020.140.41-59
xnu-8792.61.2-59
xnu-8792.81.2-59
xnu-8796.101.5-59
xnu-8796.121.2-59
xnu-8796.141.3-59

Notes

swtch_pri takes a priority argument (historically a Mach urgency) and is used by spinlock backoff code to widen the priority gap between the spinner and the lock holder, mitigating priority inversion. Like swtch, it predates the modern QoS/voucher system and is largely supplanted by os_unfair_lock with priority inheritance.

Detection

Observable via DTrace mach_trap provider; not exposed to Endpoint Security or kauth.

Related APIs

swtchthread_switchthread_policy_setos_unfair_lock_lock