Exclusive funnel (max == 1) deadlocks if it is reentered recursively. Instead we should detect this special event and either allow reentry or throw an exception, depending on a funnel option.
I reverted this feature. It was incorrectly throwing when two futures are waiting on the same funnel. I don't see a reliable way to implement reentrancy detection in funnel.
Exclusive funnel (
max
== 1) deadlocks if it is reentered recursively. Instead we should detect this special event and either allow reentry or throw an exception, depending on a funnel option.