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
:
39
SignalSet
(
io_poll_t
* poll,
ev_exec_t
* exec)
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
62
~SignalSet
() {
io_sigset_destroy
(*
this
); }
63
};
64
65
}
// namespace io
66
}
// namespace lely
67
68
#endif // !LELY_IO2_SYS_SIGSET_HPP_
sigset.hpp
ev_exec_t
const struct ev_exec_vtbl *const ev_exec_t
An abstract task executor.
Definition:
ev.h:29
lely::io::SignalSet::~SignalSet
~SignalSet()
Definition:
sigset.hpp:62
io_sigset_destroy
void io_sigset_destroy(io_sigset_t *sigset)
Destroys a system signal handler.
Definition:
sigset.c:330
lely::io::SignalSet
A system signal handler.
Definition:
sigset.hpp:36
io_sigset_create
io_sigset_t * io_sigset_create(io_poll_t *poll, ev_exec_t *exec)
Creates a new system signal handler.
Definition:
sigset.c:303
__io_poll
An I/O polling interface.
Definition:
poll.c:51
lely::io::SignalSet::SignalSet
SignalSet(io_poll_t *poll, ev_exec_t *exec)
Definition:
sigset.hpp:39
sigset.h
lely::io::SignalSetBase
A reference to an abstract signal handler.
Definition:
sigset.hpp:124
include
lely
io2
sys
sigset.hpp
Generated by
1.8.17