pgsql: Don't trust CreateFileMapping() to clear the error code on succe

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Don't trust CreateFileMapping() to clear the error code on succe
Date: 2016-09-23 14:10:03
Message-ID: E1bnRAx-0007q1-T9@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Don't trust CreateFileMapping() to clear the error code on success.

We must test GetLastError() even when CreateFileMapping() returns a
non-null handle. If that value were left over from some previous system
call, we might be fooled into thinking the segment already existed.
Experimentation on Windows 7 suggests that CreateFileMapping() clears
the error code on success, but it is not documented to do so, so let's
not rely on that happening in all Windows releases.

Amit Kapila

Discussion: <20811(dot)1474390987(at)sss(dot)pgh(dot)pa(dot)us>

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/8e6b4ee21f486e6800aaa6955ff3d98e1a521b49

Modified Files
--------------
src/backend/storage/ipc/dsm_impl.c | 3 +++
1 file changed, 3 insertions(+)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2016-09-23 14:45:03 pgsql: Remove useless code.
Previous Message Tom Lane 2016-09-23 13:54:23 pgsql: Avoid using PostmasterRandom() for DSM control segment ID.