]> git.tue.mpg.de Git - paraslash.git/commitdiff
sync_filter: Document sync_parse_config().
authorAndre Noll <maan@tuebingen.mpg.de>
Sat, 3 Jan 2015 05:46:42 +0000 (05:46 +0000)
committerAndre Noll <maan@tuebingen.mpg.de>
Mon, 12 Jan 2015 22:32:52 +0000 (23:32 +0100)
This should help to understand the lifetime of the various structures
of the sync filter.

sync_filter.c

index de30b168bf62e66172e9ac332532fbdebc153f29..82e86e90cf50c4bf77faac44183286c536caab26 100644 (file)
@@ -34,7 +34,7 @@ struct sync_buddy_info {
        bool disabled;
 };
 
-/* per open/close data */
+/* One active buddy */
 struct sync_buddy {
        int fd;
        struct sync_buddy_info *sbi;
@@ -42,6 +42,7 @@ struct sync_buddy {
        struct list_head node;
 };
 
+/* Allocated in ->open() */
 struct sync_filter_context {
        int listen_fd;
        struct list_head buddies;
@@ -49,6 +50,7 @@ struct sync_filter_context {
        bool ping_sent;
 };
 
+/* Allocated and freed in ->parse_config() and ->free_config(). */
 struct sync_filter_config {
        struct sync_filter_args_info *conf;
        struct sync_buddy_info *buddy_info;
@@ -169,6 +171,13 @@ fail:
        }
 }
 
+/*
+ * At parse config time, we build an array of struct sync_buddy_info with one
+ * entry for each buddy given in the arguments. This array is not affected by
+ * sync_close(), so information stored there can be used for multiple instances
+ * (para_audiod). We store the resolved url and the ->disabled bit in this
+ * array.
+ */
 static int sync_parse_config(int argc, char **argv, void **result)
 {
        int i, ret, n;