use non-blocking connect for timeouts

it turns out we were just hanging past the timeout normally