Ubuntu Linux で C++ のアプリケーションを作成して、シリアル ポートからデータを読み取ります。select()
私のコード呼び出しによって正常に動作し、ioctl(fd,FIONREAD,&bytes_avail)
最終的に を使用してデータを取得する前に、利用可能なバイト数を調べますread()
。
私の質問は次のとおりです。データが返されるたびselect
に、使用可能なバイト数が 8 と報告されます。これはどこかに設定されたバッファー サイズであり、このバッファーがいっぱいになると、select がユーザーに通知を返すと推測しています。
私は開発者として Linux を初めて使用しますが (C++ は初めてではありません)、このバッファーのサイズを変更できるかどうか、または実際に私の仮定が正しいかどうかを調査しようとしました (成功しませんでした)。私のアプリケーションではタイミングが重要であり、読み取りバッファーに新しいバイトがあるたびにアラートを受け取る必要があります。カーネルコードを掘り下げることなく、これは可能ですか?