Bjarne Stroustrup によるThe Design and Evolution of C++ を読んでいます。例外処理と非同期シグナルに関しては、以下のように言及されています。
シグナルなどを処理するために例外を使用できますか? ほとんどの C 環境ではそうではありません。問題は、C が再入可能ではない malloc のような関数を使用することです。malloc の途中で割り込みが発生して例外が発生した場合、例外ハンドラが malloc を再度実行するのを防ぐ方法はありません。
呼び出しシーケンスとランタイム ライブラリ全体が再入可能性の要件に合わせて設計されている C++ 実装では、シグナルが例外をスローできるようになります。
「例外ハンドラが malloc を再度実行するのを防ぐ方法はない」という文の著者の意味は何ですか? 関数を再入可能にすると、どのようにしてシグナル ハンドラから例外をスローできるようになりますか?