projects
/
urcu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' into urcu/ht-shrink
[urcu.git]
/
urcu
/
uatomic
/
generic.h
diff --git
a/urcu/uatomic/generic.h
b/urcu/uatomic/generic.h
index 4a5705198b1a81fa48713b41c743a10c2feedd22..bf7cc6aa05172b5072368ae381d60fc1aa31a6d3 100644
(file)
--- a/
urcu/uatomic/generic.h
+++ b/
urcu/uatomic/generic.h
@@
-98,20
+98,23
@@
void _uatomic_and(void *addr, unsigned long val,
#ifdef UATOMIC_HAS_ATOMIC_BYTE
case 1:
__sync_and_and_fetch_1(addr, val);
#ifdef UATOMIC_HAS_ATOMIC_BYTE
case 1:
__sync_and_and_fetch_1(addr, val);
+ return;
#endif
#ifdef UATOMIC_HAS_ATOMIC_SHORT
case 2:
__sync_and_and_fetch_2(addr, val);
#endif
#ifdef UATOMIC_HAS_ATOMIC_SHORT
case 2:
__sync_and_and_fetch_2(addr, val);
+ return;
#endif
case 4:
__sync_and_and_fetch_4(addr, val);
#endif
case 4:
__sync_and_and_fetch_4(addr, val);
+ return;
#if (CAA_BITS_PER_LONG == 64)
case 8:
__sync_and_and_fetch_8(addr, val);
#if (CAA_BITS_PER_LONG == 64)
case 8:
__sync_and_and_fetch_8(addr, val);
+ return;
#endif
}
_uatomic_link_error();
#endif
}
_uatomic_link_error();
- return 0;
}
#define uatomic_and(addr, v) \
}
#define uatomic_and(addr, v) \
@@
-131,20
+134,24
@@
void _uatomic_or(void *addr, unsigned long val,
#ifdef UATOMIC_HAS_ATOMIC_BYTE
case 1:
__sync_or_and_fetch_1(addr, val);
#ifdef UATOMIC_HAS_ATOMIC_BYTE
case 1:
__sync_or_and_fetch_1(addr, val);
+ return;
#endif
#ifdef UATOMIC_HAS_ATOMIC_SHORT
case 2:
__sync_or_and_fetch_2(addr, val);
#endif
#ifdef UATOMIC_HAS_ATOMIC_SHORT
case 2:
__sync_or_and_fetch_2(addr, val);
+ return;
#endif
case 4:
__sync_or_and_fetch_4(addr, val);
#endif
case 4:
__sync_or_and_fetch_4(addr, val);
+ return;
#if (CAA_BITS_PER_LONG == 64)
case 8:
__sync_or_and_fetch_8(addr, val);
#if (CAA_BITS_PER_LONG == 64)
case 8:
__sync_or_and_fetch_8(addr, val);
+ return;
#endif
}
_uatomic_link_error();
#endif
}
_uatomic_link_error();
- return
0
;
+ return;
}
#define uatomic_or(addr, v) \
}
#define uatomic_or(addr, v) \
@@
-316,7
+323,7
@@
void _uatomic_and(void *addr, unsigned long val, int len)
}
#define uatomic_and(addr, v) \
}
#define uatomic_and(addr, v) \
- (
uatomic_and((addr),
\
+ (
_uatomic_and((addr),
\
(unsigned long)(v), \
sizeof(*(addr))))
#endif /* #ifndef uatomic_and */
(unsigned long)(v), \
sizeof(*(addr))))
#endif /* #ifndef uatomic_and */
@@
-387,9
+394,9
@@
void _uatomic_or(void *addr, unsigned long val, int len)
}
#define uatomic_or(addr, v) \
}
#define uatomic_or(addr, v) \
- (
uatomic_or((addr),
\
-
(unsigned long)(v),
\
- sizeof(*(addr))))
+ (
_uatomic_or((addr),
\
+
(unsigned long)(v),
\
+
sizeof(*(addr))))
#endif /* #ifndef uatomic_or */
#ifndef uatomic_add_return
#endif /* #ifndef uatomic_or */
#ifndef uatomic_add_return
This page took
0.024576 seconds
and
4
git commands to generate.