projects
/
lttng-ust.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Remove runtime dependency on liburcu shared objects
[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 4b13571df3b0a3edf46e90162545e91cf9080e04..bb22a8a9d8af068de6b77145c5ca61fe228e9f90 100644
(file)
--- a/
liblttng-ust/lttng-ust-comm.c
+++ b/
liblttng-ust/lttng-ust-comm.c
@@
-39,8
+39,9
@@
#include <signal.h>
#include <limits.h>
#include <urcu/uatomic.h>
#include <signal.h>
#include <limits.h>
#include <urcu/uatomic.h>
-#include
<urcu/futex.h>
+#include
"futex.h"
#include <urcu/compiler.h>
#include <urcu/compiler.h>
+#include <lttng/urcu/urcu-ust.h>
#include <lttng/align.h>
#include <lttng/ust-events.h>
#include <lttng/align.h>
#include <lttng/ust-events.h>
@@
-434,8
+435,7
@@
void lttng_fixup_ust_mutex_nest_tls(void)
static
void lttng_fixup_urcu_bp_tls(void)
{
static
void lttng_fixup_urcu_bp_tls(void)
{
- rcu_read_lock();
- rcu_read_unlock();
+ (void) lttng_ust_urcu_read_ongoing();
}
void lttng_ust_fixup_tls(void)
}
void lttng_ust_fixup_tls(void)
@@
-1624,7
+1624,7
@@
void wait_for_sessiond(struct sock_info *sock_info)
if (uatomic_read((int32_t *) sock_info->wait_shm_mmap))
goto end_wait;
if (uatomic_read((int32_t *) sock_info->wait_shm_mmap))
goto end_wait;
- while (futex_async((int32_t *) sock_info->wait_shm_mmap,
+ while (
lttng_ust_
futex_async((int32_t *) sock_info->wait_shm_mmap,
FUTEX_WAIT, 0, NULL, NULL, 0)) {
switch (errno) {
case EWOULDBLOCK:
FUTEX_WAIT, 0, NULL, NULL, 0)) {
switch (errno) {
case EWOULDBLOCK:
@@
-2315,7
+2315,9
@@
void ust_before_fork(sigset_t *save_sigset)
pthread_mutex_lock(&ust_fork_mutex);
ust_lock_nocheck();
pthread_mutex_lock(&ust_fork_mutex);
ust_lock_nocheck();
- urcu_bp_before_fork();
+ lttng_ust_urcu_before_fork();
+ if (lttng_ust_liburcu_bp_before_fork)
+ lttng_ust_liburcu_bp_before_fork();
lttng_ust_lock_fd_tracker();
lttng_perf_lock();
}
lttng_ust_lock_fd_tracker();
lttng_perf_lock();
}
@@
-2343,7
+2345,9
@@
void ust_after_fork_parent(sigset_t *restore_sigset)
if (URCU_TLS(lttng_ust_nest_count))
return;
DBG("process %d", getpid());
if (URCU_TLS(lttng_ust_nest_count))
return;
DBG("process %d", getpid());
- urcu_bp_after_fork_parent();
+ lttng_ust_urcu_after_fork_parent();
+ if (lttng_ust_liburcu_bp_after_fork_parent)
+ lttng_ust_liburcu_bp_after_fork_parent();
/* Release mutexes and reenable signals */
ust_after_fork_common(restore_sigset);
}
/* Release mutexes and reenable signals */
ust_after_fork_common(restore_sigset);
}
@@
-2369,7
+2373,9
@@
void ust_after_fork_child(sigset_t *restore_sigset)
ust_context_vgids_reset();
DBG("process %d", getpid());
/* Release urcu mutexes */
ust_context_vgids_reset();
DBG("process %d", getpid());
/* Release urcu mutexes */
- urcu_bp_after_fork_child();
+ lttng_ust_urcu_after_fork_child();
+ if (lttng_ust_liburcu_bp_after_fork_child)
+ lttng_ust_liburcu_bp_after_fork_child();
lttng_ust_cleanup(0);
/* Release mutexes and reenable signals */
ust_after_fork_common(restore_sigset);
lttng_ust_cleanup(0);
/* Release mutexes and reenable signals */
ust_after_fork_common(restore_sigset);
This page took
0.023553 seconds
and
4
git commands to generate.