1つのスレッドが書き込むFIFOパイプを開こうとしていますが、同期はすべて良好です。ただし、理解できる理由から、追加モードで開く必要があります。
私がそれを次のように開くとき:
ret_val = mkfifo(lpipename.c_str(), 0666);
if((pipehandler = open(lpipename.c_str(), O_RDWR)) < 1)
{
perror("Failed to open pipe file");
syslog(LOG_ERR, "Failed to open pipe file");
exit(1);
}
問題はありません。フォルダを「ls」すると、パイプが黄色でマークされているのがわかります。
しかし、次のようにパイプを開こうとすると、追加モードで次のようになります。
ret_val = mkfifo(lpipename.c_str(), 0666);
if((pipehandler = open(lpipename.c_str(), O_RDWR| O_APPEND)) < 1)
{
perror("Failed to open pipe file");
syslog(LOG_ERR, "Failed to open pipe file");
exit(1);
}
フォルダ内のパイプがまったく見えません。記録のために、私はオプションのいずれかでエラーが発生します誰かが理由のアイデアを持っていますか?
ありがとう