Linuxオペレーティングシステムでデーモンとして動作するはずのCでサーバーを作っています。私もロギングシステムを持っており、私はUARTの読書をします。私はどこかで、デーモンの実行中にSIGHUPを使用して設定ファイルを読み直し、いくつかの値を更新することができます。私の質問は、どのようにこれは、彼らが最初と同じように(例えば、私がシリアルポートから読んでいる場合、それらを持っている必要があります操作の途中で値を変更する潜在的な危険なしで行う必要があります、パッケージを受け取る途中で私のBAUDを変更したくない)。 ロックが気になりましたが、実際にプログラムを変更して、関数を入力する前/後に値を変更する必要があるかどうかを確認する必要はありません。Linuxサーバー構成で信号を使用して再読
編集: シグナルハンドリングの意味で機能をアトミックにする方法がある場合(シグナルハンドラは、これらの関数が進行する前に終了するのを待つ)、これも私の問題を解決します。
ロックが心に浮かんできましたが、実際にはプログラムを変更してインジケータ関数を入力する前後に値を変更する必要がある場合。たぶん私は間違った表現 "ロック"を使用しました。固定小数点はより良いオプションですので、上記の意味では1つの反復がアトミックです。それは私が知る限りそれを行う方法ですが、何か違うものがあれば、私は別のものを探していました。 – NMilev
あなたは何を探していますか?シグナルハンドラ内から変更を適用するのが安全かどうかを判断する汎用的な方法については?私はそのような方法が存在するのか疑問です。 – Serge
私は、これらの状況で使用される原則であるCに何かがあるかもしれないと考えていました。私はそれについてもっと考えるほど、それは非論理的であるように見えます。良い答えをありがとう。 – NMilev