Re[15]: Определение наличия данных в stdin
От: santucco  
Дата: 12.09.02 12:51
Оценка:
Здравствуйте kong, Вы писали:

K>Здравствуйте santucco, Вы писали:


K>>>Я имел ввиду буфер в потоке. А вот на счет другого способа, он мне его искать поручил (вариан с синхронизацией процессов через семафор ему тоже не понравился).

S>>А что надо сделать-то?

K>да вот такая схема: есть демон, который через сислог по конвееру передает данные моей программе на stdin. Мне их надо оттуда забирать и писать в базу. Если постоянно по циклу проверять stdin на наличие данных, то сильно грузиться процессор. Вот и надо сделать, чтобы прога просыпалась только когда есть данныее в stdin. Я предложил вариант сделать синронизацию с демоном через семафор, но шефу не понравилось и он меня навел на идею с select(). Я с ним сам вчера целый день промучился, вот сегодня решил в форум месагу кинуть.

Через syslog обязательно? Это дело здорово систему грузит само по себе — я отладочную инфу в большом количестве сваливал в syslog, так syslogd в top'е был на самой верхней позиции. Делать какие-либо коммуникации через syslog — себе дороже выйдет. Он для логов предназначен.
Вот общение с демоном через socket'ы — милое дело, отлично идет с тем-же select'ом. Хочешь — через Inet-socket, хочешь — через Unix-socket.
Не стреляйте в пианиста, он играет как умеет...
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.