1
#include "source/common/event/signal_impl.h"
2

            
3
#include "source/common/event/dispatcher_impl.h"
4

            
5
#include "event2/event.h"
6

            
7
namespace Envoy {
8
namespace Event {
9

            
10
SignalEventImpl::SignalEventImpl(DispatcherImpl& dispatcher, signal_t signal_num, SignalCb cb)
11
42420
    : cb_(cb) {
12
42420
  evsignal_assign(
13
42420
      &raw_event_, &dispatcher.base(), signal_num,
14
42420
      [](evutil_socket_t, short, void* arg) -> void { static_cast<SignalEventImpl*>(arg)->cb_(); },
15
42420
      this);
16
42420
  evsignal_add(&raw_event_, nullptr);
17
42420
}
18

            
19
} // namespace Event
20
} // namespace Envoy