複数のフォークされたプロセス間で POSIX/Linux の標準エラーを共有する際に、バッファーの制限や特定のガイドラインはありますか?
perror("Some descriptor related error: ");
必要に応じて perror を呼び出すサーバー アプリケーションがあります。単一のプロセスとして、正常に動作します。fork で作成した複数のプロセスの場合、サーバーをしばらく実行すると (エラーが発生すると何度もエラーが表示されます)、エラーステートメントを連続して出力し始め、無限ループに陥ります。
それ以外の場合は、サーバーが正常に実行されることを print ステートメントをコメントアウトして確認しました。
したがって、標準エラーのバッファオーバーフローのようなシナリオがあり、しばらくすると不足する可能性があるようです。
perror に対してミューテックスやセマフォを使用したことはありません。
サーバー コードは大きく、複数のクライアント記述子を処理するために epoll を使用し、ワーカー プロセスのプールでクライアントを取得します。