СтоИт такая задача:
- есть процесс передающий данные - символьные строки.
- есть процесс, который их получает.
Напрашивается fifo, но проблема в том, что процесс-получатель данных может иногда отсутствовать.
А данные терять нельзя (даже если произойдёт перезагрузка операционки).
Т.е. нужно передавать данные через обычный файл (предполагаю использовать файловые потоки):
передатчик открывает файл,
складывает туда данные,
закрывает файл (обязательно?),
дёргает межпроцессный семафор - просыпается приёмник,
открывает файл,
забирает данные,
закрывает файл,
очищает файл (ofstream с флагом O_TRUNC).
Какая-то неуклюжая работа с файлом и не окривеет линух от такого частого открытия-закрытия файла?
И ещё одно "но": пока файл читает "приёмник" в него нельзя писать. А новые данные уже поступили и их нужно куда-то складывать.
Получается нужно два файла - в один пишет передатчик, второй читает приёмник и как-то переключаться между ними семафорами что-ли...
Вот этот момент, а также через чур активная работа с файлами меня смущают.
Прошу совета коллективного разума