diff --git a/src/port/copydir.c b/src/port/copydir.c index 0be12609fecc217727c7c0a65f9d35218f04f736..cf3e11f5bd187993a57c23dc2e41a8f320c7c7ec 100644 --- a/src/port/copydir.c +++ b/src/port/copydir.c @@ -11,7 +11,7 @@ * as a service. * * IDENTIFICATION - * $PostgreSQL: pgsql/src/port/copydir.c,v 1.34 2010/02/28 21:05:30 stark Exp $ + * $PostgreSQL: pgsql/src/port/copydir.c,v 1.35 2010/03/01 00:04:06 stark Exp $ * *------------------------------------------------------------------------- */ @@ -234,8 +234,10 @@ fsync_fname(char *fname, bool isdir) O_RDONLY | PG_BINARY, S_IRUSR | S_IWUSR); - /* Some OSs don't allow us to open directories at all */ - if (fd < 0 && isdir && errno == EISDIR) + /* Some OSs don't allow us to open directories at all + * (Windows returns EPERM) + */ + if (fd < 0 && isdir && (errno == EISDIR || errno == EPERM)) return; else if (fd < 0)