(&self)
| 37 | self.is_closed.load(Ordering::Relaxed) |
| 38 | } |
| 39 | pub async fn wait(&self) { |
| 40 | let mut listener = None; |
| 41 | |
| 42 | loop { |
| 43 | if self.is_closed.load(Ordering::Relaxed) { |
| 44 | return; |
| 45 | } |
| 46 | |
| 47 | match listener.take() { |
| 48 | None => { |
| 49 | listener = Some(self.lock_ops.listen()); |
| 50 | } |
| 51 | Some(l) => { |
| 52 | l.await; |
| 53 | } |
| 54 | } |
| 55 | } |
| 56 | } |
| 57 | } |
| 58 | |
| 59 | lazy_static::lazy_static! { |