+++ /dev/null
-*** db/db.c.sleepy Sun Jan 3 20:02:51 1999
---- db/db.c Sun Jan 3 20:28:25 1999
-*************** db_open(fname, type, flags, mode, dbenv,
-*** 106,112 ****
- DB_PGINFO pginfo;
- HASHHDR *hashm;
- size_t cachesize;
-! ssize_t nr;
- u_int32_t iopsize;
- int fd, ftype, need_fileid, restore, ret, retry_cnt, swapped;
- char *real_name, mbuf[512];
---- 106,112 ----
- DB_PGINFO pginfo;
- HASHHDR *hashm;
- size_t cachesize;
-! ssize_t nr = (ssize_t) 0;
- u_int32_t iopsize;
- int fd, ftype, need_fileid, restore, ret, retry_cnt, swapped;
- char *real_name, mbuf[512];
-*************** open_retry: if (LF_ISSET(DB_CREATE)) {
-*** 337,343 ****
- if (nr != sizeof(mbuf)) {
- if (nr != 0) {
- __db_err(dbenv,
-! "%s: unexpected file format", fname);
- goto einval;
- }
- /*
---- 337,343 ----
- if (nr != sizeof(mbuf)) {
- if (nr != 0) {
- __db_err(dbenv,
-! "%s: unexpected file format, %d bytes read", fname, nr);
- goto einval;
- }
- /*
+++ /dev/null
-
-A bug in Sleepycat´s Berkeley DB (version 2.3.16 up to 2.6.4 beta),
-was detected, that caused failure during opening of database files
-when running a threaded slapd on a linux box, kernel version 2.0.35,
-gcc 2.7.2.1, linux threads via libpthreads.so.1.60.4.
-
-THE BUG OCCURS ONLY WHEN SLAPD IS RUN WITH THREADS ENABLED AND MAY
-ONLY OCCUR ON THE PLATFORM SPECIFIED.
-
-SINCE THE CODE OF DB_OPEN() IS THE SAME IN VERSION 2.3.16 AND 2.6.4
-WITH REPECT TO THE BUG DETECTED, DB 2.3.16 SHOULD BE PATCHED AS WELL.
-
-Apply the supported patch at the root directory of Sleepycat´s code.
-Since the bug was reported to Sleepycat, it may not appear in DB
-versions, later than 2.6.4 beta.
-
-Jan 7 1999, /KSp (ksp@openldap.org)
-
--- /dev/null
+Berkeley DB version 2.x and OpenLDAP running threads
+====================================================
+
+Special care has to be taken, if OpenLDAP is to be used with threads
+activated, while at the same time using Berkeley DB, version 2.x, as
+a slapd back-end. Both, OpenLDAP AND Berkeley DB have to be compiled
+with thread support activated.
+
+The configuration tool of Sleepycat's Berkeley DB will take provion
+for that on IRIX, OSF/1, and SUN Solaris platforms (version 2.3.16),
+as well as FreeBSD (version 2.6.4), but NOT e.g. on LINUX platforms.
+
+On PC-LINUX (kernel version 2.0.35, linux kernel threads as imple-
+mented by libpthreads.so.1.60.4) with gcc as the standard compiler
+the environment variable CPPFLAGS must define -D_REENTRANT, while
+building the Berkeley DB package.
+DO NOT USE THE -ansi CFLAG, SINCE THEN THE DB PACKAGE'S CONFIGURE
+CANNOT FIND THE X86/GCC SPINLOCKS, WHICH ARE NEEDED FOR THREAD-
+SUPPORT WITH THE BERKELEY DB.
+
+Please check carefully, if your platform is not mentioned above.
+
+The OpenLDAP configure tool will most probably find the correct con-
+figuration itself, so that no special action has to be taken, while
+building the OpenLDAP package.
+
+Jan, 9th, 1999, /KSp (ksp@openldap.org)
+
--- /dev/null
+If Berkeley DB 2.x should be used with thread support activated, read the
+file build/db.2.x.README carefully. The Berkeley package must be build
+appropriately to support threaded applications as expected.
+