Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Программирование под Unix/Linux > Завершить функцию по таймауту |
Автор: danilsl 8.7.2010, 11:50 |
Всем привет. Пишу функцию, завершение которой напрямую зависит от адекватности сотового оператора, то есть если ответа нет она может висеть вечно. Подскажите пожалуйста способ завершить её через какое-то время, если она сама не завершается |
Автор: triclosan 8.7.2010, 12:13 |
имхо, два потока, один - управляемый в нем запускаешь свою функцию, второй - управляющий, в нем при помощи, например, системной функции sleep проверяешь пришел ли уже ответ. Пришел ничего не делаешь, не пришел - завершаешь упраявляемый. |
Автор: djamshud 8.7.2010, 12:46 |
В этой функции можно форкнуться, одним процессом слушать опсоса, вторым следить за первым. |
Автор: MAKCim 8.7.2010, 14:22 |
для этого висеть лучше через select и аналоги ;) |
Автор: djamshud 8.7.2010, 14:35 |
Ох, видимо у меня крайняя степень отупения - забыть про селект :(. |
Автор: danilsl 8.7.2010, 15:49 |
А не мог бы кто-нибудь дать простенький пример как селектом пользоваться, ни разу с ним не сталкивался, а гугл рассказывает про SELECT * FROM ![]() А новый поток создавать не хочу, прога и так тяжёлая, а работает на примитивном-примитивном арме... |