#include "CommandListener.h"
#include "NetlinkManager.h"
#include "DnsProxyListener.h"
+#include "MDnsSdListener.h"
static void coldboot(const char *path);
static void sigchld_handler(int sig);
+static void blockSigpipe();
int main() {
CommandListener *cl;
NetlinkManager *nm;
DnsProxyListener *dpl;
+ MDnsSdListener *mdnsl;
ALOGI("Netd 1.0 starting");
// signal(SIGCHLD, sigchld_handler);
+ blockSigpipe();
if (!(nm = NetlinkManager::Instance())) {
ALOGE("Unable to create NetlinkManager");
exit(1);
}
+ mdnsl = new MDnsSdListener();
+ if (mdnsl->startListener()) {
+ ALOGE("Unable to start MDnsSdListener (%s)", strerror(errno));
+ exit(1);
+ }
/*
* Now that we're up, we can respond to commands
*/
pid_t pid = wait(NULL);
ALOGD("Child process %d exited", pid);
}
+
+static void blockSigpipe()
+{
+ sigset_t mask;
+
+ sigemptyset(&mask);
+ sigaddset(&mask, SIGPIPE);
+ if (sigprocmask(SIG_BLOCK, &mask, NULL) != 0)
+ ALOGW("WARNING: SIGPIPE not blocked\n");
+}