From d1c401fe7a637cdea728c8c2860d47c3d1e0efa0 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Fri, 18 Oct 2013 09:16:55 +0200 Subject: ZeroconfAvahi: integrate into the EventLoop Finally fixes the regression by commit c1f4f1fd. --- src/ZeroconfAvahi.cxx | 32 +++++++------------------------- 1 file changed, 7 insertions(+), 25 deletions(-) (limited to 'src/ZeroconfAvahi.cxx') diff --git a/src/ZeroconfAvahi.cxx b/src/ZeroconfAvahi.cxx index 9714b13b1..dfdc7d8ec 100644 --- a/src/ZeroconfAvahi.cxx +++ b/src/ZeroconfAvahi.cxx @@ -19,33 +19,29 @@ #include "config.h" #include "ZeroconfAvahi.hxx" +#include "AvahiPoll.hxx" #include "ZeroconfInternal.hxx" #include "Listen.hxx" -#include "event/Loop.hxx" #include "system/FatalError.hxx" #include "util/Domain.hxx" #include "Log.hxx" -#include - #include #include +#include #include #include #include #include -#include +#include static constexpr Domain avahi_domain("avahi"); static char *avahiName; static int avahiRunning; -#ifndef USE_EPOLL -static AvahiGLibPoll *avahi_glib_poll; -#endif -static const AvahiPoll *avahi_poll; +static MyAvahiPoll *avahi_poll; static AvahiClient *avahiClient; static AvahiEntryGroup *avahiGroup; @@ -246,15 +242,7 @@ AvahiInit(EventLoop &loop, const char *serviceName) avahiRunning = 1; -#ifdef USE_EPOLL - // TODO - (void)loop; - if (1==1) return; -#else - avahi_glib_poll = avahi_glib_poll_new(loop.GetContext(), - G_PRIORITY_DEFAULT); - avahi_poll = avahi_glib_poll_get(avahi_glib_poll); -#endif + avahi_poll = new MyAvahiPoll(loop); int error; avahiClient = avahi_client_new(avahi_poll, AVAHI_CLIENT_NO_FAIL, @@ -282,14 +270,8 @@ AvahiDeinit(void) avahiClient = NULL; } -#ifdef USE_EPOLL - // TODO -#else - if (avahi_glib_poll != NULL) { - avahi_glib_poll_free(avahi_glib_poll); - avahi_glib_poll = NULL; - } -#endif + delete avahi_poll; + avahi_poll = nullptr; avahi_free(avahiName); avahiName = NULL; -- cgit v1.2.3