X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=lttng-events.c;h=a4570b7b45a7d175ec2cf03680c7376786464eef;hb=1aca53e11bbd4a28fb88f8466744abf66447c92f;hp=e3a842526dba6af21c5b7d696e7e6424fdb26db8;hpb=0ca42eb7127913b7f35bcacc3bccc8ebedb429c5;p=lttng-modules.git diff --git a/lttng-events.c b/lttng-events.c index e3a84252..a4570b7b 100644 --- a/lttng-events.c +++ b/lttng-events.c @@ -27,8 +27,8 @@ #include #include #include +#include -#include #include /* for wrapper_vmalloc_sync_all() */ #include #include @@ -75,7 +75,12 @@ int _lttng_field_statedump(struct lttng_session *session, void synchronize_trace(void) { +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,1,0)) + synchronize_rcu(); +#else synchronize_sched(); +#endif + #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)) #ifdef CONFIG_PREEMPT_RT_FULL synchronize_rcu(); @@ -1135,8 +1140,8 @@ int lttng_session_list_tracker_pids(struct lttng_session *session) ret = PTR_ERR(tracker_pids_list_file); goto file_error; } - if (atomic_long_add_unless(&session->file->f_count, - 1, INT_MAX) == INT_MAX) { + if (!atomic_long_add_unless(&session->file->f_count, 1, LONG_MAX)) { + ret = -EOVERFLOW; goto refcount_error; } ret = lttng_tracker_pids_list_fops.open(NULL, tracker_pids_list_file);