From f79ea3da647cbbef9b88760f463f5a73693328d5 Mon Sep 17 00:00:00 2001 From: Magnus Hagander Date: Mon, 4 May 2009 08:36:42 +0000 Subject: [PATCH] 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. --- src/backend/port/win32/shmem.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/backend/port/win32/shmem.c b/src/backend/port/win32/shmem.c index 6f7a661d4e..c7865bda32 100644 --- a/src/backend/port/win32/shmem.c +++ b/src/backend/port/win32/shmem.c @@ -6,7 +6,7 @@ * Portions Copyright (c) 1996-2006, PostgreSQL Global Development Group * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/port/win32/shmem.c,v 1.13 2006/07/14 05:28:28 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/port/win32/shmem.c,v 1.13.2.1 2009/05/04 08:36:42 mha Exp $ * *------------------------------------------------------------------------- */ @@ -90,6 +90,7 @@ shmget(int memKey, int size, int flag) if (flag & IPC_CREAT) { + SetLastError(0); hmap = CreateFileMapping((HANDLE) 0xFFFFFFFF, /* Use the swap file */ NULL, PAGE_READWRITE, /* Memory is Read/Write */ @@ -99,6 +100,7 @@ shmget(int memKey, int size, int flag) } else { + SetLastError(0); hmap = OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, szShareMem);