Are there any supported platforms that have only on_exit() but not
atexit()?
It would be good in some cases to rewrite custom arrangements such as
exit_nicely() or die_horribly() using those exit hooks, but supporting
both through ifdefs makes the code more ugly than before. I dug around
the buildfarm logs and documentation around the internet, and it appears
that all non-ancient platforms support atexit(). The use of on_exit()
in PostgreSQL source code appears to come from the original Postgres95
code.
I would like to get rid of on_exit(). Alternatively, atexit() could be
implemented in libpgport as a wrapper around on_exit().