From: Magnus Hagander Date: Tue, 13 May 2008 20:53:56 +0000 (+0000) Subject: Don't try to close negative file descriptors, since this can cause X-Git-Tag: REL8_0_16~10 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8e30db83a5b87b2d812d238674d5e5615f700dc1;p=thirdparty%2Fpostgresql.git Don't try to close negative file descriptors, since this can cause crashes on certain platforms. In particular, the MSVC runtime is known to do this. Fixes bug #4162, reported and diagnosed by Javier Pimas --- diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index 537af81fcfa..342d37311ee 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.180.4.6 2007/09/29 01:36:39 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.180.4.7 2008/05/13 20:53:56 mha Exp $ * *------------------------------------------------------------------------- */ @@ -2671,8 +2671,11 @@ got_record:; return (XLogRecord *) buffer; next_record_is_invalid:; - close(readFile); - readFile = -1; + if (readFile >= 0) + { + close(readFile); + readFile = -1; + } nextRecord = NULL; return NULL; }