diff options
author | Marc G. Fournier <scrappy@hub.org> | 1996-10-04 20:32:07 +0000 |
---|---|---|
committer | Marc G. Fournier <scrappy@hub.org> | 1996-10-04 20:32:07 +0000 |
commit | 4feb696be732ea07027f964974547b3976f25ed5 (patch) | |
tree | 3c405d86a5234cd4827dbd69603abed627262f4e | |
parent | 002be14c45ff498ed7e4e9908921e6a9167f1da5 (diff) | |
download | postgresql-4feb696be732ea07027f964974547b3976f25ed5.tar.gz postgresql-4feb696be732ea07027f964974547b3976f25ed5.zip |
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 <Heyl@nads.de>
-rw-r--r-- | src/backend/postmaster/postmaster.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c index 55c7fe8109c..976eb242a19 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); } |