This patch should not be necessary, except under unusual circumstances.
Perhaps it is necessary for the GDBM, but NDBM (whose code is nearly
identical) does not need it.

       /Matti Aarnio - 1.Dec.1997

--- router/libdb/gdbm.c~        Wed Nov 26 18:24:18 1997
+++ router/libdb/gdbm.c Mon Dec  1 09:18:34 1997
@@ -105,7 +105,6 @@
       conscell *tmp;
       struct spblk *spl = NULL;
       int retry, i;
-       spkey_t symid;

       retry = 0;

@@ -120,8 +119,7 @@
       val = gdbm_fetch(db, key);
       if (val.dptr == NULL) {
               if (!retry && gdbm_errno) {
-                       gdbm_close(db);
-                       sp_install(symid, (u_char *)NULL, 0, spt_files);
+                       close_gdbm(sip);
                       ++retry;
                       goto reopen;
               }
--- router/libdb/ndbm.c~        Mon Dec  1 09:11:11 1997
+++ router/libdb/ndbm.c Mon Dec  1 09:19:18 1997
@@ -75,7 +75,6 @@
       conscell *tmp;
       struct spblk *spl;
       int retry, i;
-       spkey_t symid;
       char *us;

       retry = 0;
@@ -92,13 +91,13 @@
       if (val.dptr == NULL) {
#ifdef HAVE_DBM_ERROR
         if (!retry && dbm_error(db)) {
-           dbm_close(db);
+           close_ndbm(sip);
           ++retry;
           goto reopen;
         }
#else
         if (!retry && errno != 0) {
-           dbm_close(db);
+           close_ndbm(sip);
           ++retry;
           goto reopen;
         }