mirror of
https://github.com/zeromq/cppzmq.git
synced 2025-03-01 10:57:59 +01:00
Problem: poller_t is copyable, but does not implement copying properly
Solution: make poller_t non-copyable, but properly movable
This commit is contained in:
parent
84ab7a0fc6
commit
16a76513e3
22
zmq.hpp
22
zmq.hpp
@ -990,8 +990,28 @@ namespace zmq
|
||||
|
||||
~poller_t ()
|
||||
{
|
||||
zmq_poller_destroy (&poller_ptr);
|
||||
if (poller_ptr)
|
||||
{
|
||||
int rc = zmq_poller_destroy (&poller_ptr);
|
||||
assert(rc == 0);
|
||||
}
|
||||
}
|
||||
|
||||
poller_t(const poller_t&) = delete;
|
||||
poller_t &operator=(const poller_t&) = delete;
|
||||
poller_t(poller_t&& src)
|
||||
: poller_ptr(src.poller_ptr)
|
||||
, poller_events(std::move (src.poller_events))
|
||||
{
|
||||
src.poller_ptr = NULL;
|
||||
}
|
||||
poller_t &operator=(poller_t&& src)
|
||||
{
|
||||
poller_ptr = src.poller_ptr;
|
||||
poller_events = std::move (src.poller_events);
|
||||
src.poller_ptr = NULL;
|
||||
return *this;
|
||||
}
|
||||
|
||||
bool add (zmq::socket_t &socket, short events, std::function<void(void)> &handler)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user