You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sems/core/sip/async_file_writer.cpp

35 lines
645 B

#include "async_file_writer.h"
_async_file_writer::_async_file_writer()
{
evbase = event_base_new();
// fake event to prevent the event loop from exiting
ev_default = event_new(evbase,-1,EV_READ|EV_PERSIST,NULL,NULL);
event_add(ev_default,NULL);
}
_async_file_writer::~_async_file_writer()
{
event_free(ev_default);
event_base_free(evbase);
}
void _async_file_writer::start()
{
event_add(ev_default,NULL);
AmThread::start();
}
void _async_file_writer::on_stop()
{
event_del(ev_default);
event_base_loopexit(evbase,NULL);
}
void _async_file_writer::run()
{
/* Start the event loop. */
event_base_dispatch(evbase);
}