システム:Ubuntu 12.04
コンパイラ:gcc(バージョン:4.6.3)
私の考えは、シリアルポートを介してデータを交換するクライアントサーバーアプリケーションを作成することです。
しかし、私の問題は、以下のコードスニペットを実行するときに、2つの独立したプロセスを開始すると、openが同じファイル記述子を返すことです。
最初のプロセスは「/dev/ttyS0」を開きます。
2番目のプロセスは「dev/ttyS1」を開きます。
....
serialPortDescriptor = open(portName,
O_RDWR | O_NOCTTY | O_NDELAY | O_EXCL);
if (serialPortDescriptor == INVALID_SERIALPORT_DESCRIPTOR) {
return SERIALPORT_UNKNOWN_ERROR;
}
.....
openが2つの異なるプロセス/プログラムの異なるデバイス/パス名(それぞれ「dev/ttyS1」と「dev/ttyS0」)に対して同じファイル記述子値を返すのは正常ですか?