[Date Prev][Date Next] [Chronological] [Thread] [Top]

ldap_result(), Posix signals and error checking



Hi all,
I have noticed a problem with my program (which is supposed to generate and 
receive many Posix signals ) and the function ldap_result(). It happened to both
my code and those library functions that used it (the synchronous versions of 
various add/search/modify functions).
They all failed randomly with a "Can't contact LDAP server" error. I tracked the issue
down to the poll() function in os-ip.c : it's return value is not checked to see if 
it has been interrupted by a signal. Patching the library ( making the poll function
to restart if errno == EINTR after failure ), resolved my problem.

Is it a bug or a choice? The patch is trivial, but if that error is not checked by choice that
should be documented imho. 

Cheers,
JM