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 337fe4098bf8337649f9a6bb52af4f9359453091..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) \
@@
-269,6
+276,8
@@
void _uatomic_and(void *addr, unsigned long val, int len)
old = oldt;
oldt = _uatomic_cmpxchg(addr, old, old & val, 1);
} while (oldt != old);
old = oldt;
oldt = _uatomic_cmpxchg(addr, old, old & val, 1);
} while (oldt != old);
+
+ return;
}
#endif
#ifdef UATOMIC_HAS_ATOMIC_SHORT
}
#endif
#ifdef UATOMIC_HAS_ATOMIC_SHORT
@@
-292,6
+301,8
@@
void _uatomic_and(void *addr, unsigned long val, int len)
old = oldt;
oldt = _uatomic_cmpxchg(addr, old, old & val, 4);
} while (oldt != old);
old = oldt;
oldt = _uatomic_cmpxchg(addr, old, old & val, 4);
} while (oldt != old);
+
+ return;
}
#if (CAA_BITS_PER_LONG == 64)
case 8:
}
#if (CAA_BITS_PER_LONG == 64)
case 8:
@@
-303,15
+314,16
@@
void _uatomic_and(void *addr, unsigned long val, int len)
old = oldt;
oldt = _uatomic_cmpxchg(addr, old, old & val, 8);
} while (oldt != old);
old = oldt;
oldt = _uatomic_cmpxchg(addr, old, old & val, 8);
} while (oldt != old);
+
+ return;
}
#endif
}
_uatomic_link_error();
}
#endif
}
_uatomic_link_error();
- return 0;
}
#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 */
@@
-333,6
+345,8
@@
void _uatomic_or(void *addr, unsigned long val, int len)
old = oldt;
oldt = _uatomic_cmpxchg(addr, old, old | val, 1);
} while (oldt != old);
old = oldt;
oldt = _uatomic_cmpxchg(addr, old, old | val, 1);
} while (oldt != old);
+
+ return;
}
#endif
#ifdef UATOMIC_HAS_ATOMIC_SHORT
}
#endif
#ifdef UATOMIC_HAS_ATOMIC_SHORT
@@
-345,6
+359,8
@@
void _uatomic_or(void *addr, unsigned long val, int len)
old = oldt;
oldt = _uatomic_cmpxchg(addr, old, old | val, 2);
} while (oldt != old);
old = oldt;
oldt = _uatomic_cmpxchg(addr, old, old | val, 2);
} while (oldt != old);
+
+ return;
}
#endif
case 4:
}
#endif
case 4:
@@
-356,6
+372,8
@@
void _uatomic_or(void *addr, unsigned long val, int len)
old = oldt;
oldt = _uatomic_cmpxchg(addr, old, old | val, 4);
} while (oldt != old);
old = oldt;
oldt = _uatomic_cmpxchg(addr, old, old | val, 4);
} while (oldt != old);
+
+ return;
}
#if (CAA_BITS_PER_LONG == 64)
case 8:
}
#if (CAA_BITS_PER_LONG == 64)
case 8:
@@
-367,17
+385,18
@@
void _uatomic_or(void *addr, unsigned long val, int len)
old = oldt;
oldt = _uatomic_cmpxchg(addr, old, old | val, 8);
} while (oldt != old);
old = oldt;
oldt = _uatomic_cmpxchg(addr, old, old | val, 8);
} while (oldt != old);
+
+ return;
}
#endif
}
_uatomic_link_error();
}
#endif
}
_uatomic_link_error();
- return 0;
}
#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.026024 seconds
and
4
git commands to generate.