Re: [PATCH] lock_timeout and common SIGALRM framework
| От | Boszormenyi Zoltan |
|---|---|
| Тема | Re: [PATCH] lock_timeout and common SIGALRM framework |
| Дата | |
| Msg-id | 4FF48D18.5020700@cybertec.at обсуждение исходный текст |
| Ответ на | Re: [PATCH] lock_timeout and common SIGALRM framework (Alvaro Herrera <alvherre@commandprompt.com>) |
| Ответы |
Re: [PATCH] lock_timeout and common SIGALRM framework
|
| Список | pgsql-hackers |
2012-07-04 17:20 keltezéssel, Alvaro Herrera írta: > 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. Attached are the refreshed patches. InitializeTimeouts() can be called twice and PGSemaphoreTimedLock() returns bool now. This saves two calls to get_timeout_indicator(). -- ---------------------------------- Zoltán Böszörményi Cybertec Schönig & Schönig GmbH Gröhrmühlgasse 26 A-2700 Wiener Neustadt, Austria Web: http://www.postgresql-support.de http://www.postgresql.at/
Вложения
В списке pgsql-hackers по дате отправления: