| От | 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 по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера