I´m using Redis::hiredis inside a mod_perl module on an Apache with more than 1000 domains.
That leads the program to have more than 1024 opened file descriptors what trigger a bug in net.c where redisContextWaitReady() call select with FD_SETSIZE, that's generally 1024 in most operating systems, making select call never return.
That was corrected less than a month ago in https://github.com/antirez/hiredis/commits/master/net.c substituting sellect by poll call.
I've done a test updating the entire net.c with lastest from antirez repo and the problem does not happen anymore.
Can you update the module ?
Thanks, updated net.c in 4f5f68a
Was CPAN updated too ?
It was not, I just uploaded it so it should be updated at some point today.