2020年7月9日木曜日

[Linux] SIGINTによってメモリ破壊をしていた箇所は意外にも2

こんにちは


ソフトな道を急ぎ足で今日は歩きます。


今日は、前回「[Linux] スレッド内で使用していたメモリがSIGINTによって壊されていた為でした。」


で進展がありましたので以下記載します。


結論からいうと、


1.SIGINT処理ではprintf()は行ってはいけない

2. SIGINT処理で使用する変数型を変える

        [変更前]

            static int 型

        [変更後]

            #include <signal.h>

           

            static volatile sig_atomic_t 型


こちらは、以下のリンクが大変参考になりました。

https://codezine.jp/article/detail/4700


”1”を実装して連続運転を行っていますが、20時間で


Segmentation fault


のエラーが発生していました。


今回、”2”を実装して連続運転を行っていますが、24時間

動作し続けています。(継続中)


この対応は排他制御の強力版のように思います。


動いてくれることを期待!!


[今日のひとこと]


オリエンタルラジオ 中田さんの

youtube大学でチャップリンとヒトラ(大野 裕之 (著))

を拝聴しました。

 いつもながら分かりやすい授業で

思わず書籍を読んでみました。

当時と今の情勢を見比べてみると、当時のドイツと中国が同じ状態で

占領されたフランスが今回の香港のような気がしました。

今後も、喜劇でヒトラに相当するギャグを行えば

同じように終わるのではないかと思います。


髪はポマードで「がちがち固め」で、目は線でお願いします。



0 件のコメント:

コメントを投稿