diff --git a/Sources/Common/DemandBuffer.swift b/Sources/Common/DemandBuffer.swift index 5df9743..04be08a 100644 --- a/Sources/Common/DemandBuffer.swift +++ b/Sources/Common/DemandBuffer.swift @@ -43,6 +43,8 @@ class DemandBuffer { func buffer(value: S.Input) -> Subscribers.Demand { precondition(self.completion == nil, "How could a completed publisher sent values?! Beats me 🤷‍♂️") + lock.lock() + defer { lock.unlock() } switch demandState.requested { case .unlimited: