Can more than one succeed at once? (I am not familiar with TCP.)
More than one thread can get a successful connection because of the race condition between connecting and canceling. This is a problem when two or more threads connect and send cancel signals before receiving a cancel signal themselves. In this situation it is not immediately obvious which successful connection should persist and which must die. This can be resolved by having a single synchronized connection slot, so only one thread can stuff the connection in the slot, and all others will find it taken and promptly die. This is one potential implementation of the exit funnel in the structured threading model OP is describing.
More than one thread can get a successful connection because of the race condition between connecting and canceling. This is a problem when two or more threads connect and send cancel signals before receiving a cancel signal themselves. In this situation it is not immediately obvious which successful connection should persist and which must die. This can be resolved by having a single synchronized connection slot, so only one thread can stuff the connection in the slot, and all others will find it taken and promptly die. This is one potential implementation of the exit funnel in the structured threading model OP is describing.