MCPcopy Create free account
hub / github.com/RPCSX/rpcsx / umtx_wake

Method umtx_wake

kernel/orbis/src/umtx.cpp:202–212  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

200}
201
202orbis::ErrorCode orbis::umtx_wake(Thread *thread, ptr<void> addr, sint n_wake) {
203 ORBIS_LOG_NOTICE(__FUNCTION__, thread->tid, addr, n_wake);
204 auto [chain, key, lock] = umtxStorage->getUmtxChain0(thread, true, addr);
205 if (key.pid == 0) {
206 // IPC workaround (TODO)
207 chain.notify_all(key);
208 return {};
209 }
210 chain.notify_n(key, n_wake);
211 return {};
212}
213
214namespace orbis {
215enum class umutex_lock_mode {

Callers

nothing calls this directly

Calls 3

getUmtxChain0Method · 0.80
notify_allMethod · 0.45
notify_nMethod · 0.45

Tested by

no test coverage detected