| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Программирование под Unix/Linux > Как избавиться от ожидания в usb_sg_wait();? |
| Автор: Nzdrw 26.6.2007, 06:56 |
| В одном из способов принять данные с usb устройства присутствует необходимый оператор usb_sg_wait - В ней происходит последовательная отправка запросов для каждого буфера, переданного в массиве sg при вызове usb_sg_init. Завершение ее выполнения произойдет только после завершения хостом пересылки всех данных(взято из статьи) - Как можно вызвав эту функцию не дожидаться её окончания? Поясняю: отладочная программа вызывает запрос ioctl на захват кадра - в обработчике и происходит вызов usb_sg_init + usb_sg_wait - |
| Автор: MAKCim 26.6.2007, 08:42 |
| Nzdrw, 1. Запустить ее в отдельном потоке ядра 2. Рабочие потоки |
| Автор: GrayCardinal 26.6.2007, 12:36 | ||
Это что-то новенькое |
| Автор: Nzdrw 26.6.2007, 13:16 | ||
уверен. реализовал в потоке - работает стабильно - и с нужной скоростью - fill_urb - не давал целых кадров, а про bulk_msg молчу... |