Стандартная задача: есть программа, и несколько fork()'ов в ней. Каждый child должен писать в один и тот же файл: иногда в разные промежутки времени, иногда практически одновременно (depends on internal conditions). Как правильно разделить доступ к лог-файлу, при условии, что ни одно сообшение не должно быть потеряно? Использовать flock() для файла, или есть более "прямой" способ? Заранее спасибо.
использование syslog() в данной задаче не применимо. Портабельность важна на уровне Linux и *BSD.