At https://www.sqlite.org/mmap.html, the documentation mentions:
"An I/O error on a memory-mapped file cannot be caught and dealt with by SQLite. Instead, the I/O error causes a signal which, if not caught by the application, results in a program crash." It seems to me that a naively implemented handler might introduce database coherency bugs and other issues. Is there anywhere where I can read about how one might implement such a signal handler correctly, to gracefully recover the same way any as other sqlite I/O error?