Обработка сигнала ASIO в рамках многопоточных сценариевC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Обработка сигнала ASIO в рамках многопоточных сценариев

Сообщение Anonymous »

В процессе многопоточного процесса Linux OS сигнал не гарантированно доставить в конкретный поток. Является ли эта асинхронная операция гарантированно завершена?
Тест ниже показывает, что оба потока получают один и тот же сигнал.
Так что ответ на последний вопрос может быть да. /> Я не могу найти документы, описывая это поведение < /p>
#include
#include

namespace asio = boost::asio;
using error_code = boost::system::error_code;

class SignalHandler {
public:
SignalHandler(asio::io_context& io_context) : signals_(io_context, SIGINT, SIGTERM) { start_wait(); }

private:
void start_wait() {
signals_.async_wait([this](error_code ec, int signal_number) {
std::cout

Подробнее здесь: https://stackoverflow.com/questions/797 ... -scenarios
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»