10 #include "wvstreamsdaemon.h"
16 void WvStreamsDaemon::init(WvDaemonCallback cb)
18 do_full_close =
false;
21 signal(SIGPIPE, SIG_IGN);
25 void WvStreamsDaemon::do_start()
32 void WvStreamsDaemon::do_run()
34 if (streams.isempty())
36 log(WvLog::Error,
"No streams; exiting\n");
43 WvIStreamList::globallist.
runonce();
47 void WvStreamsDaemon::do_stop()
49 WvIStreamList::Iter stream(streams);
50 for (stream.rewind(); stream.next(); )
51 WvIStreamList::globallist.unlink(stream.ptr());
54 WvIStreamList::globallist.zap();
60 bool autofree,
const char *
id)
62 streams.append(istream,
false,
id);
65 WvIStreamList::globallist.append(istream, autofree,
id);
78 bool autofree,
const char *
id)
86 void WvStreamsDaemon::restart_close_cb(
IWvStream *s,
const char *
id)
91 log(WvLog::Error,
"%s is closed (%s); restarting\n",
92 id ?
id :
"Stream", err);
97 void WvStreamsDaemon::die_close_cb(
IWvStream *s,
const char *
id)
102 log(WvLog::Error,
"%s is closed (%s); dying\n",
103 id ?
id :
"Stream", err);