Обсуждение: who calls InitializeTimeouts() ?
Hi, It looks like for about 3 years, PL/Java has been calling InitializeTimeouts before calling RegisterTimeout. Looking over the callers of InitializeTimeouts in core, though, it appears that an extension like PL/Java should be able to assume it has already been called, and in fact would be rude to call it again, as it isn't idempotent and could conceivably clobber somebody else's timeouts. As PL/Java only uses it for a timeout on process exit anyway, perhaps this is a mistake that has just never had much chance to cause a noticeable problem. Am I right that it's a mistake, though? Thanks, -Chap
On Wed, Nov 2, 2016 at 11:10 PM, Chapman Flack <chap@anastigmatix.net> wrote: > It looks like for about 3 years, PL/Java has been calling > InitializeTimeouts before calling RegisterTimeout. Looking over > the callers of InitializeTimeouts in core, though, it appears > that an extension like PL/Java should be able to assume it has > already been called, and in fact would be rude to call it again, > as it isn't idempotent and could conceivably clobber somebody > else's timeouts. Yep. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company