Re: Race condition in WaitForBackgroundWorkerStartup - Mailing list pgsql-hackers

From Tomas Vondra
Subject Re: Race condition in WaitForBackgroundWorkerStartup
Date
Msg-id 16a13e0172d667d3aede1037ec8dfa9d1548782f.camel@2ndquadrant.com
Whole thread Raw
In response to Re: Race condition in WaitForBackgroundWorkerStartup  (Jeremy Finzel <finzelj@gmail.com>)
Responses Re: Race condition in WaitForBackgroundWorkerStartup  (Amit Kapila <amit.kapila16@gmail.com>)
List pgsql-hackers
On Tue, 2018-11-13 at 07:57 -0600, Jeremy Finzel wrote:
> ...
>
> I'm unclear on what counts as "worker initialization".  The error is
> happening in the worker_spi_main function, not in the
> worker_spi_launch function.  So does an immediate error in
> worker_spi_main count as part of the worker initialization?
> 

I don't think it does (or should). worker_spi_main is pretty much the
worker body, and worker initialization pretty much means just "we've
initialized the worker process (including tracking it in shmem etc.)
and invoked it's main function".

I'd also argue the behavior is expected to depend on the machine to
some extent - depending on speed and load the machine may hit the error
before/after the GetBackgroundWorkerPid call, producing different
results.

So I'd say the behavior seems correct, at least from this POV.


regards

-- 
Tomas Vondra                  http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: Refactoring the checkpointer's fsync request queue
Next
From: Tom Lane
Date:
Subject: Re: Sync ECPG scanner with core