On 2018-07-19 15:04:15 -0500, Nico Williams wrote:
> Besides making ereport() async-signal-safe, which is tricky, you could
> write(2) the arguments to a pipe that another thread in the same process
> is reading from and which will then call ereport() and exit(3). This
> would be less work if you're willing to use a thread for that (the
> thread would only block in read(2) on that pipe, and would only provide
> this one service).
It'd also increase memory usage noticably (we'd have twice the process
count in the kernel, would have a lot of additional stacks etc), would
tie us to supporting threading in the backend, ... This is a DOA
approach imo.
Greetings,
Andres Freund