[Date Prev][Date Next]
error on select()
> I'am using sendmail (8.12.3) and openldap (2.0.25) for access map. At
> some times, sendmail receive LDAP_SERVER_DOWN from libldap. LDAP server
> i'snt down and others sendmail's are using access map at this time.
> Looking at the libldap code
> (openldap-2.0.25/libraries/libldap/os-ip.c), at the do_ldap_select(),
> the call of select( fd, .. ,... ,...,...) return "Interrupted system
> call" and this return generate LDAP_SERVER_DOWN.
I send message above to email@example.com
Response from sendmail Team:
"This appears to be a problem in the LDAP library. There is nothing
sendmail can do to avoid this. OpenLDAP should be patched to do the
right thing with signal interrupts (EINTR)."
I change "select()" call at os-ip.c (row 667 )to :
result = select( ldap_int_tblsize,
NULL, timeout );
while ((result == -1) && (errno == EINTR));
return( result );
With this, the problems had finished.
My question, this implementation can be used to skirt this
can cause other bigger problems ?
Luiz Henrique Duma