Andrew Dunstan wrote: > > > Tom Lane wrote: >> >> Now this would only explain problems if there were some code path >> through the postmaster that could leave the errno set to >> ERROR_ALREADY_EXISTS (a/k/a EEXIST) when this code is reached. I'm not >> sure there is one, and I have even less of a theory as to why system >> load might make it more probable to happen. Still, this looks like a >> bug from here, and repeating the create call won't fix it. >> >> >> > > Oh, I think that this code has such a path. We already know that the > code I showed is entered when that error is set. So the solution would > be to put SetError(0) before the call to CreateFileMapping(), possibly > before both such calls. > > Maybe we need to look at all the places we call GetLastError(). There > are quite a few of them.
A quick look shows that all of these except the one in pgwin32_get_dynamic_tokeninfo() (which uses a documented way to check the return code in the case of success) are only called after an API function fails, so we should be safe there. //Magnus -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers