Hi FWIW I don't think the on_exit_nicely business is in final shape just yet. We're doing something super strange and novel about keeping track of an array index, so that we can modify it later. Or something like that, I think? That doesn't sound all that nice to me. Elsewhere it was suggested that we need some way to keep track of the list of things that need cleanup (a list of connections IIRC?) -- perhaps in a thread-local variable or a global or something -- and we install the cleanup function once, and that reads from the variable. The program can add things to the list, or remove them, at will; and we don't need to modify the cleanup function in any way.
-- Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/