Re: [v9.3] Extra Daemons (Re: elegant and effective way for running jobs inside a database)

Heikki Linnakangas <hlinnakangas@vmware.com>

From: Heikki Linnakangas <hlinnakangas@vmware.com>
To: Alvaro Herrera <alvherre@2ndquadrant.com>
Cc: Kohei KaiGai <kaigai@kaigai.gr.jp>, Simon Riggs <simon@2ndquadrant.com>, Andrew Dunstan <andrew@dunslane.net>, Robert Haas <robertmhaas@gmail.com>, "David E. Wheeler" <david@justatheory.com>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2012-11-22T16:30:28Z
Lists: pgsql-hackers
On 21.11.2012 23:29, Alvaro Herrera wrote:
> Alvaro Herrera escribió:
>> FWIW I have pushed this to github; see
>> https://github.com/alvherre/postgres/compare/bgworker
>>
>> It's also attached.
>>
>> The UnBlockSig stuff is the main stumbling block as I see it because it
>> precludes compilation on Windows.  Maybe we should fix that by providing
>> another function that the module is to call after initialization is done
>> and before it gets ready to work ... but having a function that only
>> calls PG_SETMASK() feels somewhat useless to me; and I don't see what
>> else we could do in there.
>
> I cleaned up some more stuff and here's another version.  In particular
> I added wrapper functions to block and unblock signals, so that this
> doesn't need exported UnBlockSig.

Could you just unblock the signals before calling into the background 
worker's main() function?

- Heikki