Lely core libraries  2.3.4
sigset.hpp
Go to the documentation of this file.
1 
24 #ifndef LELY_IO2_SYS_SIGSET_HPP_
25 #define LELY_IO2_SYS_SIGSET_HPP_
26 
27 #include <lely/io2/sys/sigset.h>
28 #include <lely/io2/sigset.hpp>
29 
30 #include <utility>
31 
32 namespace lely {
33 namespace io {
34 
36 class SignalSet : public SignalSetBase {
37  public:
40  : SignalSetBase(io_sigset_create(poll, exec)) {
41  if (!sigset) util::throw_errc("SignalSet");
42  }
43 
44  SignalSet(const SignalSet&) = delete;
45 
46  SignalSet(SignalSet&& other) noexcept : SignalSetBase(other.sigset) {
47  other.sigset = nullptr;
48  other.dev = nullptr;
49  }
50 
51  SignalSet& operator=(const SignalSet&) = delete;
52 
53  SignalSet&
54  operator=(SignalSet&& other) noexcept {
55  using ::std::swap;
56  swap(sigset, other.sigset);
57  swap(dev, other.dev);
58  return *this;
59  }
60 
63 };
64 
65 } // namespace io
66 } // namespace lely
67 
68 #endif // !LELY_IO2_SYS_SIGSET_HPP_
A reference to an abstract signal handler.
Definition: sigset.hpp:124
A system signal handler.
Definition: sigset.hpp:36
SignalSet(io_poll_t *poll, ev_exec_t *exec)
Definition: sigset.hpp:39
const struct ev_exec_vtbl *const ev_exec_t
An abstract task executor.
Definition: ev.h:29
This header file is part of the I/O library; it contains the system signal handler declarations.
void io_sigset_destroy(io_sigset_t *sigset)
Destroys a system signal handler.
Definition: sigset.c:330
io_sigset_t * io_sigset_create(io_poll_t *poll, ev_exec_t *exec)
Creates a new system signal handler.
Definition: sigset.c:303
This header file is part of the I/O library; it contains the C++ interface for the abstract signal ha...
An I/O polling interface.
Definition: poll.c:51