+ s->poll_func = func ? func : system_poll;
+ s->poll_func_userdata = func ? userdata : NULL;
+
+ /* If there is a background thread running the poll() for us, tell it to exit the poll() */
+ avahi_simple_poll_wakeup(s);
+}
+
+int avahi_simple_poll_loop(AvahiSimplePoll *s) {
+ int r;
+
+ assert(s);
+
+ for (;;)
+ if ((r = avahi_simple_poll_iterate(s, -1)) != 0)
+ if (r >= 0 || errno != EINTR)
+ return r;