Я хочу использовать в своей программе дизайн «каждый io_service для каждого рабочего потока». Но я не могу повторно использовать сокет unix:
io_service io_1;
io_service io_2;
::unlink("/tmp/test");
stream_protocol::endpoint ep("/tmp/test");
stream_protocol::acceptor acceptor_1(io_1, ep, true);
stream_protocol::acceptor acceptor_2(io_2, ep, true);
io_1.run();
io_2.run();
терпит неудачу с «адрес уже используется». Когда я открываю свой asio/basic_socket_acceptor.hpp (boost 1.46.1), я вижу описание конструктора акцептора:
Этот конструктор создает акцептор и автоматически открывает его для прослушивания новых подключений к указанной конечной точке.
@param reuse_addr указывает, должен ли конструктор устанавливать параметр сокета socket_base::reuse_address.
basic_socket_acceptor(boost::asio::io_service& io_service,
const endpoint_type& endpoint, bool reuse_addr = true)
Это ошибка boost asio, и я должен отправить ее в багтрекер, я прав?