2020年7月2日木曜日

[Linux] Watchdog タイマリスタートのタイミングによってアプリハング

こんにちは


ソフトな道をほのぼのと今日も歩きます。


今日はWatchdog タイマリスタートをプログラムの中に入れて


連続運転させていると、アプリがタイミングによってハングしてしまう。


といった現象になっていました。


音声待ちの処理を行っている時に


rtc= write(fd, " ", 1);


のような処理をループ実行していると


watchdog watchdog0: watchdog did not stop!

Segmentation fault


といったエラーが発生して、アプリがハングします。


その後60秒経過後にwatchdogタイマが実施されて


再起動になります。


以下が気になった記事です。

https://quickview.cloudapps.cisco.com/quickview/bug/CSCub79985


シグナルを定義して並行的に動作させている箇所があるので


それがもしかしたら問題なのかもしれません。


対策は以下の方法で行いました。


1. 問題の箇所に対してwatchdog disableを行う。

    write(fd, "V", 1);    // Watchdogタイマディセーブル

   

    問題の処理

    …

    rtc= write(fd, " ", 1); // Watchdogタイマリスタート

   

-----------------------------------------------


[今日のひとこと]


香港国家安全維持法が7/1に施行されたようです。


第38条が特に世界が問題視しているようで、


中国が他国に戦争を仕掛けてもあんたの国は文句を言うな。


と、とらえることができると思うのですがどうなんでしょうか。


オリンピック前に、第3次世界大戦開幕ですか。


0 件のコメント:

コメントを投稿