| 34 | class BmallocLock : public bmalloc::LockBase { |
| 35 | public: |
| 36 | void Lock() override { |
| 37 | lock_.Lock().or_else([](auto&&) -> Expected<void> { |
| 38 | // 不应触发:bmalloc 内部不会递归加锁 |
| 39 | while (true) { |
| 40 | cpu_io::Pause(); |
| 41 | } |
| 42 | return {}; |
| 43 | }); |
| 44 | } |
| 45 | |
| 46 | void Unlock() override { |
| 47 | lock_.UnLock().or_else([](auto&&) -> Expected<void> { |