]> git.meshlink.io Git - catta/commitdiff
* Remove AvahiEntryGroups from the client's list when we free it
authorTrent Lloyd <lathiat@bur.st>
Sun, 14 Aug 2005 12:18:03 +0000 (12:18 +0000)
committerTrent Lloyd <lathiat@bur.st>
Sun, 14 Aug 2005 12:18:03 +0000 (12:18 +0000)
 * Add a test for AvahiEntryGroup free()

git-svn-id: file:///home/lennart/svn/public/avahi/trunk@322 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe

avahi-client/client-test.c
avahi-client/entrygroup.c

index 3dab390b928568e11433a8fbaf0e66be3d4264e5..352ee58ee54923fe9b9a2402c3a4167dd549c4b6 100644 (file)
@@ -59,14 +59,22 @@ avahi_service_type_browser_callback (AvahiServiceTypeBrowser *b, AvahiIfIndex in
 }
 
 gboolean
-test_free (gpointer data)
+test_free_domain_browser (gpointer data)
 {
-    printf ("XXX: freeing\n");
+    printf ("XXX: freeing domain browser\n");
     AvahiServiceBrowser *b = data;
     avahi_service_browser_free (b);
     return FALSE;
 }
 
+gboolean
+test_free_entry_group (gpointer data)
+{
+    printf ("XXX: freeing entry group\n");
+    AvahiEntryGroup *g = data;
+    avahi_entry_group_free (g);
+    return FALSE;
+}
 int
 main (int argc, char *argv[])
 {
@@ -134,7 +142,8 @@ main (int argc, char *argv[])
     else
         printf ("Sucessfully created service browser, path %s\n", avahi_service_browser_path (sb));
 
-    g_timeout_add (2000, test_free, sb);
+    g_timeout_add (2000, test_free_entry_group, group);
+    g_timeout_add (5000, test_free_domain_browser, sb);
 
     g_main_loop_run (loop);
 
index 26ae75afc8590b508fc9f8996723707c218a7aaa..2748d8642ba4534dfe75bf7bf6d1bdebbe416f43 100644 (file)
@@ -126,6 +126,8 @@ avahi_entry_group_free (AvahiEntryGroup *group)
         return avahi_client_set_errno (client, AVAHI_ERR_DBUS_ERROR);
 
     dbus_connection_send (client->bus, message, NULL);
+    
+    AVAHI_LLIST_REMOVE(AvahiEntryGroup, groups, client->groups, group);
 
     free (group);