>
>>хорошо, но я на самом деле решал немного другую задачу(вне зависимости от
>>заданного вопроса) как перенаправить любой вывод, даже самый неожиданный.
>>для чего? в контексте разработки CGI приложений. когда ты используешь кучу сторонних
>>библиотек. и любая из них, в случае ошибки, может выдать с
>>stdout очень неприятную запись, что очень нехорошо с точки зрения безопасности.
>
>Именно для данной задачи лучше не перенаправлять стандартные выводы, а считывать через
>popen функции: если есть вывод - открывать лог-файл, блокировать его эксклюзивной пробема в том что вы можете в своем проекте использовать кучу сторонних библиотек, и врядли каждый вызов в своей программе вы будете реализовывать через сторонний процесс.
а в силу этого и нужно переопределение стдаута в основном процессе.
>того, быстродейственность системы зачастую только уменьшается при частом выделении и уничтожении
>объектов разделяемой памяти из-за перестройки индекса сегментов.
>
>Может быть "один писатель" и "множество читателей" реализуется более просто - разделяемая
>память не единственный метод. Почему вы пошли именно этим путем? Или
>это только пример?
конечно это просто пример. на самом деле разделяемая память это оптимальный вариант обмена, лучше не бывает! можно конечно еще через пайпы и сокеты, но это гораздо медленне.
если использовать триды то эквивалентно по скорости. но в данном случае я предлагал реализовывать взаимодействие между процессами.
никакие индексы нигде при работе с разделяемой памятью не перестраиваются, мне кажеться вы это с чем то путаете.