Я создаю сервер, который общается со своими клиентами через FIFO.
Пока мне удалось создать FIFO, запустить новый поток, как только сообщение поступит в FIFO, и вывести сообщение из потока.
Проблема в том, что как только клиент что-то записывает в канал, сервер просто бесконечно печатает сообщение (я читаю из канала в while(1)
).
Мой вопрос: не должна ли операция read
также удалить сообщение из канала, чтобы оно больше не читалось? Разве не в этом суть принципа "первым пришел - первым вышел"? Это то, что мне нужно делать вручную?
Вот и мой код, если это поможет: http://pastebin.com/Ag7vgrav
Что я делаю писать в FIFO - это просто: echo test > /home/ubuntu/work/my_fifo