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-0007q5-TH@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
------
REL9_5_STABLE

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

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.