 						sink.put(event)
 					}
 
-					let shouldInterrupt = !event.isTerminating && self.interrupted.value
+					let shouldInterrupt = !event.isTerminating && interrupted.value
 					if shouldInterrupt {
 						self.interrupt()
 					}

	/// be disposed as well.
	public init(_ generator: Observer -> Disposable?) {
		sendLock.name = "org.reactivecocoa.ReactiveCocoa.Signal"

		let sink = Observer { event in
			switch event {

					if event.isTerminating || shouldInterrupt {
						// Dispose only after notifying observers, so disposal logic
						// is consistently the last thing to run.
						generatorDisposable.dispose()
					}
				}
			}
