Boost C++ Libraries/Boost.Asio

Boost.Asio 색인 - basic_signal_set::async_wait

까마귀75 2021. 1. 8. 13:30
728x90
반응형

basic_signal_set::async_wait

시그널이 전달될 때까지 비동기 대기를 시작한다.

template<
    typename SignalHandler = DEFAULT>
DEDUCED async_wait(
    SignalHandler && handler = DEFAULT);

[SignalHandler, DEFAULT, DEDUCED]

이 함수는 시그널 세트에 대한 비동기 대기를 시작하는 데 사용할 수 있다. 항상 즉시 반환된다.

async_wait()에 대한 각 호출에 대해서 제공된 핸들러가 정확하게 한번 호출된다. 핸들러는 다음의 경우 호출된다:

  • 시그널 세트에 등록된 시그널 중 하나의 시그널이 발생하거나, 또는
  • 시그널 세트가 취소된 경우로, 이 경우 핸들러에 boost.::asio::error::operation_aborted 오류 코드가 전달된다.

파라미터

handler

시그널이 발생되는 시점에 호출되는 핸들러이다. 필요에 따라 핸들러의 복사본이 만들어 진다. 핸들러의 함수 서명은 아래와 같아야 한다:

void handler(
  const boost::system::error_code& error, // Result of operation.
  int signal_number // Indicates which signal occurred.
);


비동기 작업이 즉시 완료되는지 여부에 상관없이, 핸들러는 이 함수 내에서 호출되지 않는다. 작업이 즉시 완료되는 경우, 핸들러의 호출은 "post"를 사용하는 것과 동일한 방식으로 수행된다.


Boost.Asio 홈

728x90
반응형