Move to kernel style SPDX license identifiers
[lttng-tools.git] / src / bin / lttng-sessiond / notification-thread-events.c
index 9d82b8313bfc59701619378a22cb69550bfc5eb4..73ec72f89c308b86ce2c95da5c364738d5b42680 100644 (file)
@@ -1,18 +1,8 @@
 /*
- * Copyright (C) 2017 Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ * Copyright (C) 2017 Jérémie Galarneau <jeremie.galarneau@efficios.com>
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License, version 2 only, as
- * published by the Free Software Foundation.
+ * SPDX-License-Identifier: GPL-2.0-only
  *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc., 51
- * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
 #define _LGPL_SOURCE
@@ -928,7 +918,10 @@ int evaluate_condition_for_client(const struct lttng_trigger *trigger,
                ret = -1;
                goto end;
        }
-
+       if (ret) {
+               /* Fatal error. */
+               goto end;
+       }
        if (!evaluation) {
                /* Evaluation yielded nothing. Normal exit. */
                DBG("[notification-thread] Newly subscribed-to condition evaluated to false, nothing to report to client");
@@ -1860,8 +1853,7 @@ int condition_is_supported(struct lttng_condition *condition)
                 * buffers. Therefore, we reject triggers that require that
                 * mechanism to be available to be evaluated.
                 */
-               ret = kernel_supports_ring_buffer_snapshot_sample_positions(
-                               kernel_tracer_fd);
+               ret = kernel_supports_ring_buffer_snapshot_sample_positions();
                break;
        }
        default:
@@ -2544,6 +2536,7 @@ int handle_notification_thread_trigger_unregister_all(
        struct cds_lfht_iter iter;
        struct lttng_trigger_ht_element *trigger_ht_element;
 
+       rcu_read_lock();
        cds_lfht_for_each_entry(state->triggers_ht, &iter, trigger_ht_element,
                        node) {
                int ret = handle_notification_thread_command_unregister_trigger(
@@ -2552,6 +2545,7 @@ int handle_notification_thread_trigger_unregister_all(
                        error_occurred = true;
                }
        }
+       rcu_read_unlock();
        return error_occurred ? -1 : 0;
 }
 
This page took 0.025058 seconds and 4 git commands to generate.