| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 А новый поток создавать не хочу, прога и так тяжёлая, а работает на примитивном-примитивном арме... |