ファイル ストリームにアクセスし、その内容を 1 行ずつ出力する C コードを作成しています (実際には、popen() されたプロセスの std ストリームです)。ファイルにアクセスするためのsss(単純なまだ愚かな)方法を思いつきました:
static int this_event_handler(struct msg) {
...
pFile = popen ("some command");
while ( fgets (mystring , 100 , pFile) != NULL ) {
puts (mystring);
}
...
}
このコードがイベント ループをブロックし、サーバーへの今後のメッセージが役に立たなくなることはわかっています。では、イベント ループをブロックせずにこれを処理する良い方法はありますか?
たとえば、イベント駆動型のようにストリームをリッスンし、新しい行が書き込まれる/読み取られるたびに (新しいスレッドを作成せずに) イベントを発行するメソッドを探しています。