Laurenz,

Thanks for your comments. Sorry it's taken me so long to get back to you.
Commenting inline below on anything I think needs comment; other proposed
changes look good.

On Sun, 30 May 2021 at 19:20, Laurenz Albe <laurenz.a...@cybertec.at> wrote:

> +   always use <link
> linkend="xfunc-sleeping-interrupts-blocking">PostgreSQL's
> +   interupt-aware APIs</link> for the purpose. Do not
> <function>usleep()</function>,
> +   <function>system()</function>, make blocking system calls, etc.
> +  </para>
>
> "system" is not a verb.
>

When it's a function call it is, but I'm fine with your revision:

  Do not use <function>usleep()</function>, <function>system()</function>
>   or other blocking system calls.
>
> +        and should only use the main thread. PostgreSQL generally uses
> subprocesses
>
> Hm.  If the extension does not start threads, it automatically uses the
> main thread.
> I think that should be removed for clarity.
>

IIRC I intended that to apply to the section that tries to say how to
survive running your own threads in the backend if you really must do so.

+        primitives like <function>WaitEventSetWait</function> where
> necessary. Any
> +        potentially long-running loop should periodically call <function>
> +        CHECK_FOR_INTERRUPTS()</function> to give PostgreSQL a chance to
> interrupt
> +        the function in case of a shutdown request, query cancel, etc.
> This means
>
> Are there other causes than shutdown or query cancellation?
> At any rate, I am not fond of enumerations ending with "etc".
>

I guess. I wanted to emphasise that if you mess this up postgres might fail
to shut down or your backend might fail to respond to SIGTERM /
pg_terminate_backend, as those are the most commonly reported symptoms when
such issues are encountered.


+        by PostgreSQL if any function that it calls makes a
> +        <function>CHECK_FOR_INTERRUPTS()</function> check. It may not
>
> "makes" sound kind of clumsy in my ears.
>

Yeah. I didn't come up with anything better right away but will look when I
get the chance to return to this patch.


> Attached is a new version that has my suggested changes, plus a few from
> Bharath Rupireddy (I do not agree with many of his suggestions).
>

Thanks very much. I will try to return to this soon and review the diff
then rebase and update the patch.

I have a large backlog to get through, and I've recently had the pleasure
of having to work on windows/powershell build system stuff, so it may still
take me a while.

Reply via email to