Here the fix for the first assertion failure I had which killed
authorMarc G. Fournier
Fri, 4 Oct 1996 20:32:07 +0000 (20:32 +0000)
committerMarc G. Fournier
Fri, 4 Oct 1996 20:32:07 +0000 (20:32 +0000)
my postmaster 1.07.
It's really simple, the loop dealing with all sockets
can't handle more than one ready socket :-)
A simple logic error dealing with lists.
OR IS THERE ANY REASON FOR SETTING curr TO 0?

Submitted by:  Carsten Heyl 

src/backend/postmaster/postmaster.c

index 55c7fe8109c5d5e1fb602f0b8daaf900179f0e05..976eb242a19df521a66eb14f18d5b61b5c0a09c3 100644 (file)
@@ -10,7 +10,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.9 1996/10/04 20:16:18 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.10 1996/10/04 20:32:07 scrappy Exp $
  *
  * NOTES
  *
@@ -404,7 +404,7 @@ ServerLoop(void)
     int        serverFd = ServerSock;
     fd_set rmask, basemask;
     int        nSockets, nSelected, status, newFd;
-    Dlelem   *prev, *curr;
+    Dlelem   *next, *curr;
 /*    int orgsigmask = sigblock(0); */
     sigset_t oldsigmask, newsigmask;
     
@@ -541,10 +541,11 @@ ServerLoop(void)
        }
        FD_CLR(port->sock, &basemask);
        StreamClose(port->sock);
-       prev = DLGetPred(curr);
+       next = DLGetPred(curr);
        DLRemove(curr);
        DLFreeElem(curr);
-       curr = 0;
+       curr = next;
+                continue;
        }
        curr = DLGetSucc(curr);
    }