Rainer Bauer wrote:
"Matthew T. O'Connor" wrote:
Tom Lane wrote:
ROTFL ... so to translate: "If your program crashes, please release
locks before crashing."
Obviously that wasn't the intent of the above, but I guess it is the net
effect. Either way, I don't think it's a huge problem, it just means
that PG may not be able to restart for a few seconds until the OS has
time to clean-up the locks.
I don't think so. I am using DevStudio 2005 here and from time to time the
debugger crashes so that I have to kill the program via the task manager.
Afterwards it's not possible to load the crashed project again in a newly
started DevStudio session, because some project files are still locked
exclusively. The only action that helps is rebooting windows.
Now, I don't know whether DevStudio is using LockFileEx() but somehow this
sounds familiar.
Rainer
Has anyone considered not using a file lock on windows? CreateMutex
might do the trick if provided a mutex name, making it global rather
than process bound. OpenMutex can be used to test if the mutex exists
or if it is currently locked. I guess it would stay locked. If there
is a crash, it is automatically closed by the os.
The docs state the system closes the handle (mutex) when the process
terminates and makes no mention of this being a lingering action like
LockFileEx. It sounds like the mutex is closed ASAP when the process
terminates, just like file handles.
--
Andrew Chernow
eSilo, LLC
every bit counts
http://www.esilo.com/
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers