Tom Lane wrote:
> Heikki Linnakangas <heikki@enterprisedb.com> writes:
>> In fact, I think there's a small race condition in CVS HEAD:
>
> Yeah, probably --- the original no-locking design didn't have any side
> flags. The reason you need the lock is for a backend to be sure that
> a newly-started checkpoint is using its requested flags. But the
> detection of checkpoint termination is still the same.
Actually, the race condition I outlined isn't related to the flags. It's
possible because RequestCheckpoint doesn't guarantee that a checkpoint
is performed when there's been no WAL activity since last one.
I did use a new force-flag to fix it, but I'm sure there is other ways.
--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com