]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Call SetLastError(0) before calling the file mapping functions
authorMagnus Hagander <magnus@hagander.net>
Mon, 4 May 2009 08:36:42 +0000 (08:36 +0000)
committerMagnus Hagander <magnus@hagander.net>
Mon, 4 May 2009 08:36:42 +0000 (08:36 +0000)
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

index 6f7a661d4e34bf3c25ecf8bad133879d58816bf2..c7865bda325e12fa7ca1d3383b04e64cd3d2e902 100644 (file)
@@ -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);