X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=src%2Flib%2Fgraph%2Fgraph.c;h=44a5e1b4d657d98de328859f0df095734ea42e6b;hp=32af1ef898585d4c240f7e505c79de01970226be;hb=637f33f491d6bbf72a3c52bffc617b72c8ecdb30;hpb=ec4a33549ae0f01a603caa22db78bd356e3ab81b diff --git a/src/lib/graph/graph.c b/src/lib/graph/graph.c index 32af1ef8..44a5e1b4 100644 --- a/src/lib/graph/graph.c +++ b/src/lib/graph/graph.c @@ -1506,83 +1506,6 @@ end: return status; } -BT_HIDDEN -int bt_graph_remove_unconnected_component(struct bt_graph *graph, - struct bt_component *component) -{ - bool init_can_consume; - uint64_t count; - uint64_t i; - int ret = 0; - - BT_ASSERT(graph); - BT_ASSERT(component); - BT_ASSERT(component->base.ref_count == 0); - BT_ASSERT(bt_component_borrow_graph(component) == graph); - - init_can_consume = graph->can_consume; - count = bt_component_get_input_port_count(component); - - for (i = 0; i < count; i++) { - struct bt_port *port = (void *) - bt_component_borrow_input_port_by_index(component, i); - - BT_ASSERT(port); - - if (bt_port_is_connected(port)) { - BT_LIB_LOGW_APPEND_CAUSE( - "Cannot remove component from graph: " - "an input port is connected: " - "%![graph-]+g, %![comp-]+c, %![port-]+p", - graph, component, port); - goto error; - } - } - - count = bt_component_get_output_port_count(component); - - for (i = 0; i < count; i++) { - struct bt_port *port = (void *) - bt_component_borrow_output_port_by_index(component, i); - - BT_ASSERT(port); - - if (bt_port_is_connected(port)) { - BT_LIB_LOGW_APPEND_CAUSE( - "Cannot remove component from graph: " - "an output port is connected: " - "%![graph-]+g, %![comp-]+c, %![port-]+p", - graph, component, port); - goto error; - } - } - - bt_graph_set_can_consume(graph, false); - - /* Possibly remove from sinks to consume */ - (void) g_queue_remove(graph->sinks_to_consume, component); - - if (graph->sinks_to_consume->length == 0) { - graph->has_sink = false; - } - - /* - * This calls bt_object_try_spec_release() on the component, and - * since its reference count is 0, its destructor is called. Its - * destructor calls the user's finalization method (if set). - */ - g_ptr_array_remove(graph->components, component); - goto end; - -error: - ret = -1; - -end: - (void) init_can_consume; - bt_graph_set_can_consume(graph, init_can_consume); - return ret; -} - BT_HIDDEN void bt_graph_add_message(struct bt_graph *graph, struct bt_message *msg)