projects
/
urcu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
tests: add missing unsigned long casts to pthread_self()
[urcu.git]
/
urcu-bp.c
diff --git
a/urcu-bp.c
b/urcu-bp.c
index 7c91e0a9ce8bb40b3ef688011cc0cc9cf933b536..d0a2c492fcebaf59b057a933aa691daa9e00c8af 100644
(file)
--- a/
urcu-bp.c
+++ b/
urcu-bp.c
@@
-42,6
+42,8
@@
#include "urcu-pointer.h"
#include "urcu/tls-compat.h"
#include "urcu-pointer.h"
#include "urcu/tls-compat.h"
+#include "urcu-die.h"
+
/* Do not #define _LGPL_SOURCE to ensure we can emit the wrapper symbols */
#undef _LGPL_SOURCE
#include "urcu-bp.h"
/* Do not #define _LGPL_SOURCE to ensure we can emit the wrapper symbols */
#undef _LGPL_SOURCE
#include "urcu-bp.h"
@@
-142,17
+144,12
@@
static void mutex_lock(pthread_mutex_t *mutex)
#ifndef DISTRUST_SIGNALS_EXTREME
ret = pthread_mutex_lock(mutex);
#ifndef DISTRUST_SIGNALS_EXTREME
ret = pthread_mutex_lock(mutex);
- if (ret) {
- perror("Error in pthread mutex lock");
- exit(-1);
- }
+ if (ret)
+ urcu_die(ret);
#else /* #ifndef DISTRUST_SIGNALS_EXTREME */
while ((ret = pthread_mutex_trylock(mutex)) != 0) {
#else /* #ifndef DISTRUST_SIGNALS_EXTREME */
while ((ret = pthread_mutex_trylock(mutex)) != 0) {
- if (ret != EBUSY && ret != EINTR) {
- printf("ret = %d, errno = %d\n", ret, errno);
- perror("Error in pthread mutex lock");
- exit(-1);
- }
+ if (ret != EBUSY && ret != EINTR)
+ urcu_die(ret);
poll(NULL,0,10);
}
#endif /* #else #ifndef DISTRUST_SIGNALS_EXTREME */
poll(NULL,0,10);
}
#endif /* #else #ifndef DISTRUST_SIGNALS_EXTREME */
@@
-163,10
+160,8
@@
static void mutex_unlock(pthread_mutex_t *mutex)
int ret;
ret = pthread_mutex_unlock(mutex);
int ret;
ret = pthread_mutex_unlock(mutex);
- if (ret) {
- perror("Error in pthread mutex unlock");
- exit(-1);
- }
+ if (ret)
+ urcu_die(ret);
}
void update_counter_and_wait(void)
}
void update_counter_and_wait(void)
@@
-220,9
+215,9
@@
void synchronize_rcu(void)
sigset_t newmask, oldmask;
int ret;
sigset_t newmask, oldmask;
int ret;
- ret = sig
empty
set(&newmask);
+ ret = sig
fill
set(&newmask);
assert(!ret);
assert(!ret);
- ret = pthread_sigmask(SIG_
SETMAS
K, &newmask, &oldmask);
+ ret = pthread_sigmask(SIG_
BLOC
K, &newmask, &oldmask);
assert(!ret);
mutex_lock(&rcu_gp_lock);
assert(!ret);
mutex_lock(&rcu_gp_lock);
@@
-365,9
+360,9
@@
void rcu_bp_register(void)
sigset_t newmask, oldmask;
int ret;
sigset_t newmask, oldmask;
int ret;
- ret = sig
empty
set(&newmask);
+ ret = sig
fill
set(&newmask);
assert(!ret);
assert(!ret);
- ret = pthread_sigmask(SIG_
SETMAS
K, &newmask, &oldmask);
+ ret = pthread_sigmask(SIG_
BLOC
K, &newmask, &oldmask);
assert(!ret);
/*
assert(!ret);
/*
@@
-400,9
+395,9
@@
void rcu_bp_before_fork(void)
sigset_t newmask, oldmask;
int ret;
sigset_t newmask, oldmask;
int ret;
- ret = sig
empty
set(&newmask);
+ ret = sig
fill
set(&newmask);
assert(!ret);
assert(!ret);
- ret = pthread_sigmask(SIG_
SETMAS
K, &newmask, &oldmask);
+ ret = pthread_sigmask(SIG_
BLOC
K, &newmask, &oldmask);
assert(!ret);
mutex_lock(&rcu_gp_lock);
saved_fork_signal_mask = oldmask;
assert(!ret);
mutex_lock(&rcu_gp_lock);
saved_fork_signal_mask = oldmask;
@@
-439,7
+434,8
@@
void *rcu_dereference_sym_bp(void *p)
void *rcu_set_pointer_sym_bp(void **p, void *v)
{
cmm_wmb();
void *rcu_set_pointer_sym_bp(void **p, void *v)
{
cmm_wmb();
- return uatomic_set(p, v);
+ uatomic_set(p, v);
+ return v;
}
void *rcu_xchg_pointer_sym_bp(void **p, void *v)
}
void *rcu_xchg_pointer_sym_bp(void **p, void *v)
This page took
0.02953 seconds
and
4
git commands to generate.