-
- g_timeout_add(1000*5, dump_timeout, server);
- g_timeout_add(1000*60, quit_timeout, loop);
-
- loop = g_main_loop_new(NULL, FALSE);
- g_main_loop_run(loop);
- g_main_loop_unref(loop);
-
- avahi_record_browser_free(r);
- avahi_host_name_resolver_free(hnr);
- avahi_address_resolver_free(ar);
- avahi_service_type_browser_free(stb);
- avahi_service_browser_free(sb);
- avahi_service_resolver_free(sr);
- avahi_dns_server_browser_free(dsb);
+ avahi_elapse_time(&tv, 1000*5, 0);
+ poll_api->timeout_new(poll_api, &tv, dump_timeout_callback, server);
+
+ avahi_elapse_time(&tv, 1000*60, 0);
+ poll_api->timeout_new(poll_api, &tv, quit_timeout_callback, simple_poll);
+
+ for (;;)
+ if (avahi_simple_poll_iterate(simple_poll, -1) != 0)
+ break;
+
+ avahi_s_record_browser_free(r);
+ avahi_s_host_name_resolver_free(hnr);
+ avahi_s_address_resolver_free(ar);
+ avahi_s_service_type_browser_free(stb);
+ avahi_s_service_browser_free(sb);
+ avahi_s_service_resolver_free(sr);
+ avahi_s_dns_server_browser_free(dsb);