OpenLDAP's libldap has supported poll() since 2004. Whatever you're working with is far out of date. As stated here http://www.openldap.org/devel/contributing.html we only accept patches against current code.
Nicholas Dronen wrote:
I work on a commercial server application, a gateway, which uses
pam_ldap to authenticate users in some situations. As a server
application, it can easily exceed the 1024 default file descriptor limit
of select(2), which has bitten us recently. Since the server application
ships in an appliance, we can provide a patch in the form of an OpenLDAP
RPM that's been recompiled with -DOPENLDAP_FD_SETSIZE. That fixes the
immediate problem for us, but would you be willing to accept a patch to
libldap that gave developers a programmatic way to use poll or epoll
instead of having to recompile?
That's good news. We're currently using OpenLDAP 2.2.13, which is the version included in RedHat EL 4.6. (RedHat is apparently quite conservative in the versions of the packages they include in their distribution.) The next release of our product will run on RedHat EL 5.x, which comes with OpenLDAP 2.3.27, so we should be okay in the long run. The motivation for my question about the patch was, of course, simply that we would like not to have to recompile OpenLDAP for every *future* version of our product. Naturally, in the short term we would recompile and rebuild the RPM and send it to our customers. In any case, it's great to hear that the newer versions of libldap use poll already, so we just have to recompile and rebuild the RPM for our current release. Thanks for your help!