 	let _queue = dispatch_queue_create("com.github.ReactiveCocoa.EnumerableBuffer", DISPATCH_QUEUE_SERIAL)
 	var _enumerators: Enumerator<T>[] = []
 	var _eventBuffer: Event<T>[] = []
+	var _terminated = false
 
 	/// Creates a buffer for events up to the given maximum capacity.
 	///

				}
			}

			for enumerator in self._enumerators {
				enumerator.put(event)
			}

	/// Stores the given event in the buffer, evicting the earliest event if the
	/// buffer would be over capacity, then forwards it to all waiting
	/// enumerators.
	///
	/// If a terminating event is put into the buffer, it will stop accepting
	/// any further events (to obey the contract of Enumerable).
	func put(event: Event<T>) {
		dispatch_barrier_sync(_queue) {
			if (self._terminated) {
				return
			}

			self._eventBuffer.append(event)
			if let capacity = self._capacity {
				while self._eventBuffer.count > capacity {
