diff options
author | Bruce Momjian <bruce@momjian.us> | 2004-02-17 03:45:17 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2004-02-17 03:45:17 +0000 |
commit | 1f17316a3d472156ec8086c1760a7097c671eaa2 (patch) | |
tree | 5a5764f7391735a7f1e4b1cdd01d691e4662d57d | |
parent | ec6feaaed4f9fd8fe71e6de888cb1dd72b0872c8 (diff) | |
download | postgresql-1f17316a3d472156ec8086c1760a7097c671eaa2.tar.gz postgresql-1f17316a3d472156ec8086c1760a7097c671eaa2.zip |
Here is an updated version of the win32 readdir patch.
1) Now puts in exactly the same change as the current-cvs mingw code
does. (see
http://cvs.sourceforge.net/viewcvs.py/mingw/runtime/mingwex/dirent.c?r1=
1.3&r2=1.4, second part of the patch).
2) Updates both xlog.c and slru.c in backend/access/transam/
3) Also updates pg_resetxlog, which also uses readdir() and checks the
errno value after the loop.
Magnus Hagander
-rw-r--r-- | src/backend/access/transam/slru.c | 8 | ||||
-rw-r--r-- | src/backend/access/transam/xlog.c | 8 | ||||
-rw-r--r-- | src/bin/pg_resetxlog/pg_resetxlog.c | 8 |
3 files changed, 21 insertions, 3 deletions
diff --git a/src/backend/access/transam/slru.c b/src/backend/access/transam/slru.c index c92f90f6ca8..aac93a60a3f 100644 --- a/src/backend/access/transam/slru.c +++ b/src/backend/access/transam/slru.c @@ -6,7 +6,7 @@ * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/backend/access/transam/slru.c,v 1.11 2004/02/10 01:55:24 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/access/transam/slru.c,v 1.12 2004/02/17 03:45:17 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -917,6 +917,12 @@ SlruScanDirectory(SlruCtl ctl, int cutoffPage, bool doDeletions) } errno = 0; } +#ifdef WIN32 + /* This fix is in mingw cvs (runtime/mingwex/dirent.c rev 1.4), but + not in released version */ + if (GetLastError() == ERROR_NO_MORE_FILES) + errno = 0; +#endif if (errno) ereport(ERROR, (errcode_for_file_access(), diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index c0e328bf619..dc6fea9b5bb 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.135 2004/02/11 22:55:24 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.136 2004/02/17 03:45:17 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -1805,6 +1805,12 @@ MoveOfflineLogs(uint32 log, uint32 seg, XLogRecPtr endptr) } errno = 0; } +#ifdef WIN32 + /* This fix is in mingw cvs (runtime/mingwex/dirent.c rev 1.4), but + not in released version */ + if (GetLastError() == ERROR_NO_MORE_FILES) + errno = 0; +#endif if (errno) ereport(PANIC, (errcode_for_file_access(), diff --git a/src/bin/pg_resetxlog/pg_resetxlog.c b/src/bin/pg_resetxlog/pg_resetxlog.c index 9049aed099d..d97948185fe 100644 --- a/src/bin/pg_resetxlog/pg_resetxlog.c +++ b/src/bin/pg_resetxlog/pg_resetxlog.c @@ -23,7 +23,7 @@ * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/bin/pg_resetxlog/pg_resetxlog.c,v 1.15 2004/02/11 22:55:25 tgl Exp $ + * $PostgreSQL: pgsql/src/bin/pg_resetxlog/pg_resetxlog.c,v 1.16 2004/02/17 03:45:17 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -611,6 +611,12 @@ KillExistingXLOG(void) } errno = 0; } +#ifdef WIN32 + /* This fix is in mingw cvs (runtime/mingwex/dirent.c rev 1.4), but + not in released version */ + if (GetLastError() == ERROR_NO_MORE_FILES) + errno = 0; +#endif if (errno) { |