projects
/
lttng-ust.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: lttng perf counter deadlock
[lttng-ust.git]
/
liblttng-ust
/
lttng-ust-comm.c
diff --git
a/liblttng-ust/lttng-ust-comm.c
b/liblttng-ust/lttng-ust-comm.c
index 4d8519789469b988de3f745018ca8fa39bc28963..e449edad0ad1916cb09ca3bcc070f49e6574d22d 100644
(file)
--- a/
liblttng-ust/lttng-ust-comm.c
+++ b/
liblttng-ust/lttng-ust-comm.c
@@
-423,6
+423,7
@@
void lttng_ust_fixup_tls(void)
lttng_fixup_nest_count_tls();
lttng_fixup_procname_tls();
lttng_fixup_ust_mutex_nest_tls();
lttng_fixup_nest_count_tls();
lttng_fixup_procname_tls();
lttng_fixup_ust_mutex_nest_tls();
+ lttng_ust_fixup_perf_counter_tls();
lttng_ust_fixup_fd_tracker_tls();
}
lttng_ust_fixup_fd_tracker_tls();
}
@@
-2068,6
+2069,7
@@
void ust_before_fork(sigset_t *save_sigset)
ust_lock_nocheck();
rcu_bp_before_fork();
lttng_ust_lock_fd_tracker();
ust_lock_nocheck();
rcu_bp_before_fork();
lttng_ust_lock_fd_tracker();
+ lttng_perf_lock();
}
static void ust_after_fork_common(sigset_t *restore_sigset)
}
static void ust_after_fork_common(sigset_t *restore_sigset)
@@
-2075,6
+2077,7
@@
static void ust_after_fork_common(sigset_t *restore_sigset)
int ret;
DBG("process %d", getpid());
int ret;
DBG("process %d", getpid());
+ lttng_perf_unlock();
lttng_ust_unlock_fd_tracker();
ust_unlock();
lttng_ust_unlock_fd_tracker();
ust_unlock();
This page took
0.037549 seconds
and
4
git commands to generate.