On Sun, Feb 19, 2017 at 6:50 PM, Amit Kapila <amit.kapil...@gmail.com> wrote: > To close the remaining gap, don't you think we can check slot->in_use > flag when generation number for handle and slot are same.
That doesn't completely fix it either, because ForgetBackgroundWorker() also does BackgroundWorkerData->parallel_terminate_count++, which we might also fail to see, which would cause RegisterDynamicBackgroundWorker() to bail out early. There are CPU ordering effects to think about here, not just the order in which the operations are actually performed. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers