Fix: sessiond: bad fd used while rotating exiting app's buffers
[lttng-tools.git] / src / bin / lttng-sessiond / dispatch.c
index 5777b3b85bcf89eb81ac749193989310a61beee0..c4ce36e7e96b6d6d1cccb9c7f8dc076a597ab995 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2011 David Goulet <david.goulet@polymtl.ca>
+ * Copyright (C) 2011 EfficiOS Inc.
  * Copyright (C) 2011 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
  * Copyright (C) 2013 Jérémie Galarneau <jeremie.galarneau@efficios.com>
  *
@@ -67,7 +67,8 @@ static void update_ust_app(int app_sock)
                        continue;
                }
                session_lock(sess);
-               if (!sess->active || !sess->ust_session) {
+               if (!sess->active || !sess->ust_session ||
+                               !sess->ust_session->active) {
                        goto unlock_session;
                }
 
@@ -144,7 +145,7 @@ static void sanitize_wait_queue(struct ust_reg_wait_queue *wait_queue)
                                        (revents & (LPOLLHUP | LPOLLERR))) {
                                cds_list_del(&wait_node->head);
                                wait_queue->count--;
-                               ust_app_destroy(wait_node->app);
+                               ust_app_put(wait_node->app);
                                free(wait_node);
                                /*
                                 * Silence warning of use-after-free in
This page took 0.024963 seconds and 4 git commands to generate.