Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers!)
От | Heikki Linnakangas |
---|---|
Тема | Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers!) |
Дата | |
Msg-id | 4C777420.9000909@enterprisedb.com обсуждение исходный текст |
Ответ на | Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers!) (Fujii Masao <masao.fujii@gmail.com>) |
Ответы |
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!)
|
Список | pgsql-hackers |
On 27/08/10 10:39, Fujii Masao wrote: > On Thu, Aug 26, 2010 at 7:40 PM, Heikki Linnakangas > <heikki.linnakangas@enterprisedb.com> wrote: >> There's two kinds of latches, local and global. Local latches can only be >> set from the same process - allowing you to replace pg_usleep() with >> something that is always interruptible by signals (by setting the latch in >> the signal handler). The global latches work the same, and indeed the >> implementation is the same, but the latch resides in shared memory, and can >> be set by any process attached to shared memory. On Unix, when you set a >> latch waited for by another process, the setter sends SIGUSR1 to the waiting >> process, and the signal handler sends the byte to the self-pipe to wake up >> the select(). > > According to this explanation, the latch which walsender uses seems to be > local. If it's true, walsender should call InitSharedLatch rather than > InitLatch? Yes, it should. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: