I wrote succeedForOneOf to help when I want to loop through a list and call a function with the item from the list as the first argument to the function, and stop when one of the function calls succeeds. The use case I need it for is, connecting to multiple servers looking for a particular thing, and stopping when I find it. In my testing in the attached file, succeedForOneOf does what I would expect. However, when I tried this in my application, and func involved connecting to servers via PB and calling a remote method, it started up a ton of 'PBClientFactory's until the win32eventreactor spun wildly out of control because I exceeded the 64 object limitation. This of course also caused the server I was connecting to to spin wildly out of control as well, sucking up all of the CPU. My question isn't related to the win32event reactor problem. I just don't understand why my implementation of succeedForOneOf would fail in this manner. Does anyone see a problem with the code? Has someone else written code to accomplish this in a different way? -Justin