From: Marc G. Fournier Date: Fri, 4 Oct 1996 20:32:07 +0000 (+0000) Subject: Here the fix for the first assertion failure I had which killed X-Git-Tag: REL2_0~501 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4feb696be732ea07027f964974547b3976f25ed5;p=postgresql Here the fix for the first assertion failure I had which killed 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 --- diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c index 55c7fe8109..976eb242a1 100644 --- a/src/backend/postmaster/postmaster.c +++ b/src/backend/postmaster/postmaster.c @@ -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); }