Sorry guys.

>>  What way would you handle an issue identified by library hardening?

There are a lot of contexts:

In finance I would not want to submit a stock trade or other financial transaction. In that case I might want to restart the program.

Alternately, "hard real-time" is defined as a situation where a response is required within some number of milliseconds or machinery will be ruined or lives lost.  And there is no tolerance of intermittently missing the deadline. In that case I might want to have multiple identical processes "locked" to multiple cores that are never shared. Each process tries to perform the same calculations. And then have a very simple arbitration system in place that can compare results for being identical and can handle if one process dies due to malfunction. That way I can reject the kind of mistake that could cause an industrial accident without causing delays.

On a desktop app I might want to try to save my current state and restart. There is a list of text editors that keep their current state mapped to disk with mmap() and can recover from a crash by mapping their working memory right back in again after a restart.