Расширение асинхронного файла io в boost :: asio до Mac OS X - PullRequest
3 голосов
/ 14 января 2010

Пакет boost :: asio содержит классы для выполнения асинхронного ввода-вывода файлов в Windows с использованием портов завершения ввода-вывода. Насколько я понимаю, для других платформ, включенных в пакет asio, не поддерживается асинхронный файл io.

Мне интересно, что нужно сделать, чтобы расширить asio с помощью асинхронной поддержки файлов как минимум для Mac OS X, но также и для некоторой степени Linux. Меня больше всего интересует, что нужно делать на стороне asio, но, поскольку я не настолько опытен в программировании на Mac OS X, я не возражаю против указателей на то, где можно найти дополнительную информацию о том, как выполнять асинхронный файл io в Mac OS X - это PBReadForkAsync, на что я должен смотреть?

Обновление: Наконец-то я нашел способ попытаться создать асинхронный файл io (за пределами boost :: asio) в Mac OS X, используя aio_read / aio_write, однако я не могу получить необходимые данные обратного вызова (см. Как получить пользовательские данные). для обработчика сигнала aio в Mac OS X ).

1 Ответ

2 голосов
/ 14 января 2010

Согласно этой странице boost :: asio работает в OS X с одним небольшим ограничением: http://www.boost.org/doc/libs/1_37_0/doc/html/boost_asio/overview/implementation.html

...