The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"...и снова select"
Отправлено bf_, 27-Авг-05 12:54 
Поискав "select" в форумах, не нашел чего-то вразумительного...
Потому вопрос: есть два файла, которые необходимо отслеживать. Отслеживать обращение к ним на запись. Приблизительно( по памяти), выглядит так:

int main( int c, char **v ) {
//arg check.. skp

int fd1 = open(v[1], O_RDONLY | O_NONBLOCK ), fd2open(v[2], O_RDONLY | O_NONBLOCK);
//fd open check skp
fd_set readfs;
timeval tv = { 10, 0 };
int ret = 0;

while( 1 ) {
FD_ZERO( &readfs );
FD_SET( fd1, &readfs );
FD_SET( fd2, &readfs );

ret = select( ( fd1 > fd2 ? fd1 : fd2 ) + 1, &readfs, 0, 0, &tv );
if (ret ) {
if( FD_ISSET( fd1, &readfs ) ) //always willb here
if( FD_ISSET( fd2, &readfs ) ) //always willb here
}

Может по коду и напутал чего, но это не принципиально. Когда отдавать ему пустой файл - он сработает. Когда отдать полный - он сработает. Он(select)- всегда сработает, несмотря ни на что. Да что там readfs! Если ему дать writefs с установленными битами дескрипторов - он также будет срабатывать! Вообще, не радоваться, нет повода. Может я чего-то недогоняю... Всегда валидно работало, а с файлами такая-вот "беда".

ps. Текущая реализация этой задачи, работает через PF_UNIX сокеты, но это же не выход, да ? :)

ps. try it in google "man open" :)

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.

На сайте действует частичное премодерирование - после публикации некоторые сообщения от анонимов могут автоматически скрываться ботом. После проверки модератором ошибочно скрытые сообщения раскрываются. Для ускорения раскрытия можно воспользоваться ссылкой "Сообщить модератору", указав в качестве причины обращения "скрыто по ошибке".



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру