diff --git a/src/backend/port/win32_shmem.c b/src/backend/port/win32_shmem.c index b3849bea0b76f9e144f1f710e6c2bea676f75ad6..7cb477c6ed07319f490aaf754a6dacac61b53b96 100644 --- a/src/backend/port/win32_shmem.c +++ b/src/backend/port/win32_shmem.c @@ -6,7 +6,7 @@ * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/port/win32_shmem.c,v 1.7 2009/01/01 17:23:46 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/port/win32_shmem.c,v 1.8 2009/05/04 08:36:40 mha Exp $ * *------------------------------------------------------------------------- */ @@ -131,6 +131,9 @@ PGSharedMemoryCreate(Size size, bool makePrivate, int port) UsedShmemSegAddr = NULL; + /* In case CreateFileMapping() doesn't set the error code to 0 on success */ + SetLastError(0); + hmap = CreateFileMapping((HANDLE) 0xFFFFFFFF, /* Use the pagefile */ NULL, /* Default security attrs */ PAGE_READWRITE, /* Memory is Read/Write */ @@ -160,6 +163,9 @@ PGSharedMemoryCreate(Size size, bool makePrivate, int port) Sleep(1000); + /* In case CreateFileMapping() doesn't set the error code to 0 on success */ + SetLastError(0); + hmap = CreateFileMapping((HANDLE) 0xFFFFFFFF, NULL, PAGE_READWRITE, 0L, (DWORD) size, szShareMem); if (!hmap) ereport(FATAL,