diff --git a/include/villas/path.h b/include/villas/path.h index 8df955f55..74d26e88a 100644 --- a/include/villas/path.h +++ b/include/villas/path.h @@ -89,6 +89,7 @@ struct path { struct list sources; /**< List of all incoming nodes (struct path_source). */ struct list destinations; /**< List of all outgoing nodes (struct path_destination). */ struct list hooks; /**< List of processing hooks (struct hook). */ + struct list signals; /**< List of signals which this path creates (struct signal). */ struct task timeout; diff --git a/lib/path.c b/lib/path.c index 5ccdb85d3..ba742b921 100644 --- a/lib/path.c +++ b/lib/path.c @@ -302,6 +302,7 @@ int path_init(struct path *p) list_init(&p->destinations); list_init(&p->sources); + list_init(&p->signals); p->_name = NULL; @@ -794,6 +795,7 @@ int path_destroy(struct path *p) #endif list_destroy(&p->sources, (dtor_cb_t) path_source_destroy, true); list_destroy(&p->destinations, (dtor_cb_t) path_destination_destroy, true); + list_destroy(&p->signals, (dtor_cb_t) signal_destroy, true); if (p->reader.pfds) free(p->reader.pfds);