| 200 | } |
| 201 | |
| 202 | orbis::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 | |
| 214 | namespace orbis { |
| 215 | enum class umutex_lock_mode { |
nothing calls this directly
no test coverage detected