Hello Maksim, On 1/27/18 2:19 PM, Arthur Zakirov wrote: > On Mon, Jan 22, 2018 at 02:34:58PM +0300, Maksim Milyutin wrote: > > The patch is applied and build. > >> +/* >> + * UnregisterCustomProcSignal >> + * Release slot of specific custom signal. >> + * >> + * This function have to be called in _PG_init or _PG_fini functions of >> + * extensions at the stage of loading shared preloaded libraries. Otherwise >> it >> + * throws fatal error. Also it throws fatal error if argument is not valid >> + * custom signal. >> + */ >> +void >> +UnregisterCustomProcSignal(ProcSignalReason reason) >> +{ >> + if (!process_shared_preload_libraries_in_progress) >> + ereport(FATAL, (errcode(ERRCODE_INTERNAL_ERROR), >> + errmsg("cannot unregister >> custom signal after startup"))); > > Is there actual need in UnregisterCustomProcSignal() within _PG_init()? > An extension registers a handler and then unregister it doing > nothing. It seems useless. > > Also process_shared_preload_libraries_in_progress within _PG_fini() will > be false I think. _PG_fini() won't be called though, because > implementation of internal_unload_library() is disabled. > > Actually, is there need in UnregisterCustomProcSignal() at all? It > unregisters a handler only in current backend, for actual unergistering > we need to call it everywhere, if I'm not mistaken.
This patch has been in Waiting on Author state for almost three weeks. Have you had a chance to consider Arthur's suggestions? Do you know when you'll have an updated patch available? Thanks, -- -David da...@pgmasters.net