()
| 212 | internal.callback((resume) => { |
| 213 | if (self.free >= n) return resume(effect) |
| 214 | const observer = () => { |
| 215 | if (self.free < n) return |
| 216 | self.waiters.delete(observer) |
| 217 | resume(effect) |
| 218 | } |
| 219 | self.waiters.add(observer) |
| 220 | return internal.sync(() => { |
| 221 | self.waiters.delete(observer) |