Quanah Gibson-Mount wrote:
--On Saturday, September 05, 2009 5:58 PM +0200 John Miller johnmiller@email.it wrote:
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.
I would send a question like this to openldap-devel@openldap.org
And it would be ignored. This is the right list for this question.
But the original poster appears to be confused. ldap_int_poll() clearly checks for EINTR already.