Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 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
Цитата

 В одном из способов принять данные с usb устройства присутствует необходимый оператор usb_sg_wait

Это что-то новенькое smile Вы уверены что вам ЭТОТ способ нужен ?  smile 

Автор: Nzdrw 26.6.2007, 13:16
Цитата

Это что-то новенькое  Вы уверены что вам ЭТОТ способ нужен ?   

уверен. реализовал в потоке - работает стабильно - и с нужной скоростью - fill_urb - не давал целых кадров, а про bulk_msg молчу...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)