| 120 | _m_write.release(); |
| 121 | } |
| 122 | void release(Mutex* m) { |
| 123 | _m_write.acquire(); |
| 124 | _m.acquire(); |
| 125 | _to_release = m; |
| 126 | _m.release(); |
| 127 | _e.signal(); |
| 128 | _e_done.wait(); |
| 129 | _m_write.release(); |
| 130 | } |
| 131 | }; |
| 132 | |
| 133 | class GlobalMutexRunnableInit { |