Re: pgsql: Use latch instead of select() in walreceiver
От | Michael Paquier |
---|---|
Тема | Re: pgsql: Use latch instead of select() in walreceiver |
Дата | |
Msg-id | CAB7nPqRA_cO_r_PLmRvFUtpvrTUeeBooXst1+oDecTPmTckp5A@mail.gmail.com обсуждение исходный текст |
Ответ на | pgsql: Use latch instead of select() in walreceiver (Peter Eisentraut <peter_e@gmx.net>) |
Список | pgsql-committers |
On Fri, Dec 2, 2016 at 10:29 AM, Peter Eisentraut <peter_e@gmx.net> wrote: > Use latch instead of select() in walreceiver > > Replace use of poll()/select() by WaitLatchOrSocket(), which is more > portable and flexible. > > Also change walreceiver to use its procLatch instead of a custom latch. > > From: Petr Jelinek <petr@2ndquadrant.com> + ResetLatch(&MyProc->procLatch); + rc = WaitLatchOrSocket(&MyProc->procLatch, + WL_POSTMASTER_DEATH | WL_SOCKET_READABLE | + WL_LATCH_SET, + PQsocket(streamConn), + 0, + WAIT_EVENT_LIBPQWALRECEIVER_READ); + if (rc & WL_POSTMASTER_DEATH) + exit(1); Hmm. We have always been very careful about not leaving immediately from libpqwalreceiver.c which is an independent shared library so as the WAL receiver can take cleanup actions. See here for more details: https://www.postgresql.org/message-id/CAEepm=0hg_FX7kdUhosTpJ_kPsUZw6k-7nuQNy-dGAOaetn_tA@mail.gmail.com -- Michael
В списке pgsql-committers по дате отправления: