Re: [PATCH] lock_timeout and common SIGALRM framework
Alvaro Herrera <alvherre@commandprompt.com>
From: Alvaro Herrera <alvherre@commandprompt.com>
To: Boszormenyi Zoltan <zb@cybertec.at>
Cc: Marc Cousin <cousinmarc@gmail.com>, Pg Hackers <pgsql-hackers@postgresql.org>, Hans-Juergen Schoenig <hs@cybertec.at>, Ants Aasma <ants@cybertec.at>, Robert Haas <robertmhaas@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>
Date: 2012-07-04T15:20:48Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix Windows implementation of PGSemaphoreLock.
- ada8fa08fc6c 9.2.0 cited
Excerpts from Boszormenyi Zoltan's message of mié jul 04 06:32:46 -0400 2012: > 2012-07-04 12:09 keltezéssel, Boszormenyi Zoltan írta: > > You just broke initdb with this cleanup. :-) Ouch. > > initdb starts postgres --single, that doesn't do BackendInitialize(), > > only PostgresMain(). So, you need InitializeTimeouts() before > > the RegisterTimeout() calls in PostgresMain and the elog(PANIC) > > must not be in InitializeTimeouts() if called twice. > > Attached is the fix for this problem. PostgresMain() has a new > argument: bool single_user. This way, InitializeTimeouts() can > keep its elog(PANIC) if called twice and "postgres --single" > doesn't fail its Assert() in RegisterTimeout(). Hmm. Maybe it's better to leave InitializeTimeouts to be called twice after all. The fix seems a lot uglier than the disease it's curing. -- Álvaro Herrera <alvherre@commandprompt.com> The PostgreSQL Company - Command Prompt, Inc. PostgreSQL Replication, Consulting, Custom Development, 24x7 support