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-0007q3-TD@gemulon.postgresql.org
Views: Whole Thread | Raw Message | 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
------
REL9_6_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/e7f5d8ea1c75cc341a966897760a812e437c4668

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.