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 | 4C8DC055.7040900@enterprisedb.com обсуждение исходный текст |
Ответ на | Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers!) (Jeff Davis <pgsql@j-davis.com>) |
Ответы |
Re: Interruptible sleeps (was Re: CommitFest 2009-07:
Yay, Kevin! Thanks, reviewers!)
|
Список | pgsql-hackers |
On 12/09/10 20:13, Jeff Davis wrote: > On Sun, 2010-09-12 at 12:29 -0400, Tom Lane wrote: >>> ... why throw an ERROR there if it can't happen (or >>> indicates an inconsistent state when it does happen)? >> >> Are you suggesting that an Assert would be sufficient? > > I'm not too picky about whether it's Assert, ERROR, or PANIC (Asserts > aren't available in production systems, which I assume is why elog was > used); Right, OwnLatch is a not performance-critical, so it's better to elog() IMHO. > but we should be consistent and document that: > (a) it shouldn't happen > (b) that it's just a sanity check and we're ignoring the race Would this be sufficient? --- a/src/backend/port/unix_latch.c +++ b/src/backend/port/unix_latch.c @@ -156,6 +156,7 @@ OwnLatch(volatile Latch *latch) if (selfpipe_readfd == -1) initSelfPipe(); + /* sanity check */ if (latch->owner_pid != 0) elog(ERROR, "latch already owned"); latch->owner_pid =MyProcPid; Or you want to suggest something better? -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: