|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.10.2009, 18:26 | #1 |
Регистрация: 13.10.2008
Сообщений: 6
|
ждать полный таймаут в select()
Добрый день! Есть небольшой вопрос по программе под Linux.
Код:
Отсюда вопрос: как можно организовать ожидание завершения полного таймаута? |
10.10.2009, 19:49 | #2 | |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 320
|
Если следовать манам:
http://www.opennet.ru/man.shtml?topi...ry=2&russian=0 http://www.opennet.ru/cgi-bin/openne...tut&category=2 http://www.opennet.ru/man.shtml?topi...ry=3&russian=0 можно придумать решение, но оно не хорошее - непереносимо, т.е. только для Linux. А именно - после того как функция select вернет управление tv.tv_sec будет содержать количество прошедших секунд, а tv.tv_usec - микросекунд, поэтому можно оставшееся время банально "дождать" с помощью usleep: Код:
Цитата:
|
|
11.10.2009, 14:56 | #3 |
Регистрация: 13.10.2008
Сообщений: 6
|
но мне же нужно не дождать время, а выбирать из приходящих на сокет ответов нужный мне.
наверно лучше организовать цикл while? например: Код:
Последний раз редактировалось JohnnyQ; 11.10.2009 в 15:05. |
11.10.2009, 23:59 | #4 |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 320
|
Тогда нужно накапливать время в цикле. Допустим в TIMEOUT общее количество мили-секунд, T - текущая часть мили-секунд:
Код:
Последний раз редактировалось BaronTreep; 12.10.2009 в 00:13. |
12.10.2009, 12:08 | #5 |
Регистрация: 13.10.2008
Сообщений: 6
|
ну почти)))
tv.tv_usec и tv.tv_sec возвращают количество не пройденных секунд, а оставшихся... поэтому я сделал вот так: Код:
Последний раз редактировалось JohnnyQ; 12.10.2009 в 12:11. |
12.10.2009, 22:16 | #6 |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 320
|
Удивительно!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
В зависимости от выбора в Select изменить значения другого Select | Tayfun | HTML и CSS | 3 | 18.08.2011 00:05 |
Select t1.N,t1.FIO,(select t2.acc from t2 where t2.type=1) from t1,t2 | mavlon_m | SQL, базы данных | 2 | 17.09.2009 15:28 |
Таймаут и бесконечный цикл | Terikon | Работа с сетью в Delphi | 4 | 30.03.2009 14:48 |
Ждать завершения чужого процесса | ERASERROR | Win Api | 2 | 04.02.2008 08:23 |
Передача значения в <select></select> | kkkggg | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 1 | 06.09.2007 00:26 |