728x90
반응형
시그널 핸들링 (Signal Handling)
Boost.Asio는 signal_set이라는 클래스를 사용하여 시그널 핸들링을 지원한다. 프로그램은 세트에 하나 이상의 시그널을 추가한 다음 async_wait() 작업을 수행할 수 있다. 시그널 중 하나가 발생하면 지정된 핸들러가 호출된다. 동일한 시그널 번호를 여러 signal_set 개체에 등록할 수 있지만, 시그널 번호는 Boost.Asio에서만 사용해야 한다.
void handler( const boost::system::error_code& error, int signal_number) { if (!error) { // A signal occurred. } } ... // Construct a signal set registered for process termination. boost::asio::signal_set signals(io_context, SIGINT, SIGTERM); // Start an asynchronous wait for one of the signals to occur. signals.async_wait(handler);
Microsoft Visual C++ 런타임 라이브러리가 Ctrl+C와 같은 콘솔 이벤트를 동등한 시그널에 매핑하므로 시그널 처리는 Windows에서 작동한다.
더 보기
signal_set, HTTP server example (C++03), HTTP server example (C++11).
728x90
반응형
'Boost C++ Libraries > Boost.Asio' 카테고리의 다른 글
Boost.Asio 개요 - POSIX 전용 기능 - UNIX 도메인 소켓 (0) | 2020.12.11 |
---|---|
Boost.Asio 개요 - POSIX 전용 기능 (0) | 2020.12.11 |
Boost.Asio 개요 - 직렬 포트 (0) | 2020.12.11 |
Boost.Asio 개요 - 타이머 (0) | 2020.12.11 |
Boost.Asio 개요 - 네트워킹 - BSD 소켓 API 및 Boost.Asio (0) | 2020.12.11 |