Re: Condition variable live lock - Mailing list pgsql-hackers

From Robert Haas
Subject Re: Condition variable live lock
Date
Msg-id CA+TgmoZS8wr0R4BYD7CfM4CKEbyhi4XmkcORqsLL1CmJMyxOXg@mail.gmail.com
Whole thread Raw
In response to Re: Condition variable live lock  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Condition variable live lock
List pgsql-hackers
On Fri, Jan 5, 2018 at 2:38 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> * I think the Asserts in ConditionVariablePrepareToSleep and
> ConditionVariableSleep ought to be replaced by full-fledged test and
> elog(ERROR), so that they are enforced even in non-assert builds.
> I don't have a lot of confidence that corner cases that could violate
> those usage restrictions would get caught during developer testing.
> Nor do I see an argument that we can't afford the cycles to check.

I think those usage restrictions are pretty basic, and I think this
might be used in some places where performance does matter.  So -1
from me for this change.

> * ConditionVariablePrepareToSleep needs to be rearranged so that failure
> to create the WaitEventSet doesn't leave us in an invalid state.

+1.

> * A lot of the comments could be improved, IMHO.

No opinion without seeing what you propose to change.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: setting estate in ExecInitNode() itself
Next
From: Tom Lane
Date:
Subject: Re: setting estate in ExecInitNode() itself