>>15
>メモリ確保に失敗したら安全な終了シーケンスの実行も難しいだろうし。
これに関しては起動時にまとまったメモリを終了処理用にmalloc()しておくという古典的なテクニックがある
(1 MBのメモリを起動時にmalloc()しておき、ヒープメモリが無くなったらそいつを解放すれば
 終了処理に1 MB使える

メイヤーズの本にも載ってる