If stream_select is disabled then provide a fallback using curl and finally fsockopen; with & without socket_select()
We learned that curl is really bad if it comes to the responds array. At least if it comes to a redirect. I'm looking forward how you plan to make this consistent.
A definitive big pro point for linkchecker if this module can handle all the variants. I plan to move on and leave the patch #380052: Add support with non-blocking parallel link checking outside if this module can do all.
I started to follow that thread; it's full of some good ideas for getting cURL working. I might make cURL the last option as socket_select is close to stream_select and I can thus I can use similar logic for the event loop.
Interesting development in a sandbox http://drupal.org/sandbox/daeron/1490922
Looks like this is a good lib for curl https://github.com/jmathai/php-multi-curl
Looks like CURL has something just like stream_select: http://php.net/curl-multi-select
Seriously the best curl_multi docs are http://drupalcode.org/project/redis_ssi.git/blob/refs/heads/7.x-1.x:/red... here. Once I figure out how to edit PHP docs past their github migration I will add this there. The curl multi pages are full of busywaiting by calling curl_multi_exec and checking for $active.
Yet another cURL module http://drupal.org/project/chr
Not going to implement fallback code. Open to patches though.
Drupal is a registered trademark of Dries Buytaert.