From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Andrew Chernow <ac(at)esilo(dot)com> |
Cc: | Andrew Dunstan <andrew(at)dunslane(dot)net>, Dave Page <dpage(at)pgadmin(dot)org>, Magnus Hagander <magnus(at)hagander(dot)net>, Zeugswetter Andreas OSB sIT <Andreas(dot)Zeugswetter(at)s-itsolutions(dot)at>, Charlie Savage <cfis(at)savagexi(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: 8.3 .4 + Vista + MingW + initdb = ACCESS_DENIED |
Date: | 2008-10-15 17:33:40 |
Message-ID: | 24197.1224092020@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Andrew Chernow <ac(at)esilo(dot)com> writes:
> Tom Lane wrote:
>> Does fork/exec preserve lock ownership on Windows?
> Not to my knowledge. On windows, there is only CreateProcess
> (http://msdn.microsoft.com/en-us/library/ms682425.aspx) That doesn't
> resemble the behavior of fork or exec at all.
Hmm. Now that you mention it, didn't we solve a similar problem by
exploiting the behavior where CreateProcess creates a process but
doesn't start it running? I'm envisioning
* Create child process in suspended state
* Assign it ownership of a lock (can we do that?)
* Set it running
If the postmaster crashes between steps 1 and 2, then the zombie process
doesn't hold a lock, but it will never do anything so it doesn't matter.
OTOH, if the postmaster crashes between steps 2 and 3, there's probably
no way to restart your database except to reboot ...
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Magnus Hagander | 2008-10-15 17:36:07 | Re: 8.3 .4 + Vista + MingW + initdb = ACCESS_DENIED |
Previous Message | Tom Lane | 2008-10-15 17:26:31 | Re: 8.3 .4 + Vista + MingW + initdb = ACCESS_DENIED |