I use AMQP-CPP lib with libev
backend. I try to create a class which will open a connection and do consuming. I want to run connection's loop in a worker thread in order not to block the main thread. That part of code looks like this
...
m_thread.reset(new std:thread([this]()
{
ev_run(m_loop, 0);
}));
...
Then at some point I want to stop the loop. I have read that it is possible to do it with ev_break()
function. However, it should be called from the same thread as ev_run()
was called. More search showed that ev_async_send()
function might do that, but I cannot figure out how.
How can I do it? Any ideas?