Re: windows shared memory error
От | Magnus Hagander |
---|---|
Тема | Re: windows shared memory error |
Дата | |
Msg-id | 49FD668B.7080209@hagander.net обсуждение исходный текст |
Ответ на | Re: windows shared memory error (Andrew Dunstan <andrew@dunslane.net>) |
Список | pgsql-hackers |
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
В списке pgsql-hackers по дате отправления: