[Date Prev][Date Next]
test001-slapdadd stalled (ITS-697) (ITS#1100)
The Jitterbug interface to the OpenLDAP problem queue never gave me
the "login screen" mentioned so I couldn't create an account to
post a follow up to ITS-697
OpenLDAP-2.0.7 would build but not run the testsuite on BSD/OS 4.2
There were two bugs, one from OpenLDAP and one from BSD/OS' pthreads,
that conspired to cause the problem.
I can't take credit for tracking down the BSD/OS thread related part
of the problem - hats off and a thank you to BSDI for putting in the
time&effort on that front.
OpenLDAP has code conditionalized on HAVE_FCNTL but its autoconf
setup did not check for fcntl(2) being present on the system.
The BSD/OS pthreads implementation overlooked support for the obsolete
ioctl(...,FIONBIO,...) call in the pthreads logic (fcntl(2) works fine).
The fix is to have OpenLDAP's ./configure script check for fcntl()
thereby defining HAVE_FCNTL and to add a #include <fcntl.h> in one
With these small changes OpenLDAP 2.0.7 runs the testsuite successfully.
Apply the patch below to an unpacked OpenLDAP-2.0.7 source tree,
run 'autoconf' (to regenerate ./configure) and follow the rest of the
--- ./include/portable.h.in.dist Mon Oct 30 10:13:40 2000
+++ ./include/portable.h.in Fri Mar 30 20:25:04 2001
@@ -144,6 +144,9 @@
/* Define if you have the flock function. */
+/* Define if you have the fcntl function */
/* Define if you have the gai_strerror function. */
--- ./libraries/liblber/sockbuf.c.dist Tue Oct 17 11:52:56 2000
+++ ./libraries/liblber/sockbuf.c Fri Mar 30 20:20:36 2001
@@ -17,6 +17,10 @@
#endif /* HAVE_IO_H */
--- ./configure.in.dist Mon Oct 30 09:46:17 2000
+++ ./configure.in Fri Mar 30 20:26:18 2001
@@ -2010,6 +2010,7 @@
+ fcntl \