Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.14.83.223] |
|
Страницы: (3) 1 2 [3] все ( Перейти к последнему сообщению ) |
Сообщ.
#31
,
|
|
|
Цитата shm @ Цитата progman @ void server::accept( int id, const boost::system::error_code & err ) { if (!err) { std::make_shared<connection>( m_dbpool, std::move( m_socket ) )->accept(); } m_acceptor.async_accept( m_socket, boost::bind( handle_accept, this, 0, _1 ) ); } Скорее всего бага тут. Попробуй добавь для отладки проверку флага завершения: void server::accept( int id, const boost::system::error_code & err ) { if(TerminateFlag) return; if (!err) { std::make_shared<connection>( m_dbpool, std::move( m_socket ) )->accept(); } m_acceptor.async_accept( m_socket, boost::bind( handle_accept, this, 0, _1 ) ); } ... TerminateFlag = false; io_service.stop(); спасибо - флаг помог посылаю лучи респекта. |
Сообщ.
#32
,
|
|
|
progman, это не решение - это просто проверка, что ошибка тут. Проверяй причину ошибки, т. к. баг тут:
Цитата progman @ m_acceptor.async_accept( m_socket, boost::bind( handle_accept, this, 0, _1 ) ); нельзя так делать при остановке io_service. Можешь проверять код ошибки. Также у io_service есть метод bool stopped(). Добавлено И перепиши ожидание потоков. |
Сообщ.
#33
,
|
|
|
progman, ping. До ума-то будешь доводить? Складывается впечатление, что мне эта тема интереснее, чем тебе
|
Сообщ.
#34
,
|
|
|
shm
У него небось работы невпроворот... Труд, мир, май... |
Сообщ.
#35
,
|
|
|
Цитата shm @ progman, ping. До ума-то будешь доводить? Складывается впечатление, что мне эта тема интереснее, чем тебе костыли работают - глубоко копать правда нет времени от слова совсем ((( |
Сообщ.
#36
,
|
|
|
Цитата progman @ костыли работают - глубоко копать правда нет времени от слова совсем ((( Это неправильный подход. |