#include <sys/_system_properties.h>
#include <sys/atomics.h>
+#include <bionic_atomic_inline.h>
struct prop_area {
unsigned volatile count;
}
len = SERIAL_VALUE_LEN(serial);
memcpy(value, pi->value, len + 1);
+ ANDROID_MEMBAR_FULL();
if(serial == pi->serial) {
if(name != 0) {
strcpy(name, pi->name);
return -1;
pi->serial = pi->serial | 1;
+ ANDROID_MEMBAR_FULL();
memcpy(pi->value, value, len + 1);
+ ANDROID_MEMBAR_FULL();
pi->serial = (len << 24) | ((pi->serial + 1) & 0xffffff);
__futex_wake(&pi->serial, INT32_MAX);
memcpy(pi->value, value, valuelen + 1);
pa->toc[pa->count] = (namelen << 24) | (((unsigned) pi) - ((unsigned) pa));
+ ANDROID_MEMBAR_FULL();
pa->count++;
pa->serial++;