projects
/
userspace-rcu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix a wrong format
[userspace-rcu.git]
/
src
/
urcu-call-rcu-impl.h
diff --git
a/src/urcu-call-rcu-impl.h
b/src/urcu-call-rcu-impl.h
index e9366b42355b8b0db313cca083b121017192852b..9f85d55b403c5fa1f882947af021c6cae460d712 100644
(file)
--- a/
src/urcu-call-rcu-impl.h
+++ b/
src/urcu-call-rcu-impl.h
@@
-434,6
+434,7
@@
static void call_rcu_data_init(struct call_rcu_data **crdpp,
{
struct call_rcu_data *crdp;
int ret;
{
struct call_rcu_data *crdp;
int ret;
+ sigset_t newmask, oldmask;
crdp = malloc(sizeof(*crdp));
if (crdp == NULL)
crdp = malloc(sizeof(*crdp));
if (crdp == NULL)
@@
-448,9
+449,18
@@
static void call_rcu_data_init(struct call_rcu_data **crdpp,
crdp->gp_count = 0;
cmm_smp_mb(); /* Structure initialized before pointer is planted. */
*crdpp = crdp;
crdp->gp_count = 0;
cmm_smp_mb(); /* Structure initialized before pointer is planted. */
*crdpp = crdp;
+
+ ret = sigfillset(&newmask);
+ urcu_posix_assert(!ret);
+ ret = pthread_sigmask(SIG_BLOCK, &newmask, &oldmask);
+ urcu_posix_assert(!ret);
+
ret = pthread_create(&crdp->tid, NULL, call_rcu_thread, crdp);
if (ret)
urcu_die(ret);
ret = pthread_create(&crdp->tid, NULL, call_rcu_thread, crdp);
if (ret)
urcu_die(ret);
+
+ ret = pthread_sigmask(SIG_SETMASK, &oldmask, NULL);
+ urcu_posix_assert(!ret);
}
/*
}
/*
This page took
0.034401 seconds
and
4
git commands to generate.