1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-24 14:22:24 +03:00

Call SetLastError(0) before calling the file mapping functions

to make sure that the error code is reset, as a precaution in
case the API doesn't properly reset it on success. This could
be necessary, since we check the error value even if the function
doesn't fail for specific success cases.
This commit is contained in:
Magnus Hagander
2009-05-04 08:36:40 +00:00
parent ffbd17e73e
commit ca6c0ac4d3

View File

@ -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,