MyWackoSite: КурсОперационныеСистемы/ПрактикумPosixThreads/PthreadLectures/CodesamplesAio ...

Home Page | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация | Вход:  Пароль:  

Примеры кода для асинхронного ввода-вывода

Простой асинхронный ввод из сокета.

Обратите внимание, что мы формируем запрос на чтение раньше, чем отправляем запрос HTTP.
Это позволяет нам убедиться, что все честно, т.е. запрос отрабатывает строго после того как был сформирован.

gcc -lrt -lsocket -lnsl -lresolv sockaio.c


Асинхронный ввод из сокета на сигналах


Структура программы похожа на то, как обычно пишут драйверы: основная нить инициирует первую операцию в цепочке и спит в ожидании прерывания (ну, так как написано у меня – основной цикл будет просыпаться после каждого прерывания). А обработчик прерывания уже отвечает за инициацию следующих операций в цепочке.


To Do:

Не тестировалось на страницах, которые не влезают в один буфер.
Код обоих примеров надо бы подчистить.
Дурацкий vim мне табуляций понавтыкал куда не надо, и порядок инклудов нечеловеческий.
 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]