]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Don't trust CreateFileMapping() to clear the error code on success.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 23 Sep 2016 14:09:52 +0000 (10:09 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 23 Sep 2016 14:09:52 +0000 (10:09 -0400)
commiteda5e908291e80df9ea2ff5b6a9fd026719de2a6
treef9ca6dcba26f7c2b847409ec332d4a64bc496f89
parent93528f7b41419d4c690ab83f45912e01281a590c
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.1474390987@sss.pgh.pa.us>
src/backend/storage/ipc/dsm_impl.c