Home | History | Annotate | Download | only in system_properties

Lines Matching refs:serial

50 #define SERIAL_DIRTY(serial) ((serial)&1)
51 #define SERIAL_VALUE_LEN(serial) ((serial) >> 24)
122 return atomic_load_explicit(pa->serial(), memory_order_acquire);
145 uint32_t serial = Serial(pi); // acquire semantics
146 size_t len = SERIAL_VALUE_LEN(serial);
157 if (serial == load_const_atomic(&(pi->serial), memory_order_relaxed)) {
183 const char* value, uint32_t serial),
188 uint32_t serial = Serial(pi);
190 callback(cookie, pi->name, pi->long_value(), serial);
192 callback(cookie, pi->name, pi->value, serial);
198 uint32_t serial = Serial(pi); // acquire semantics
199 size_t len = SERIAL_VALUE_LEN(serial);
207 if (serial == load_const_atomic(&(pi->serial), memory_order_relaxed)) {
208 callback(cookie, pi->name, value_buf, serial);
239 uint32_t serial = atomic_load_explicit(&pi->serial, memory_order_relaxed);
240 serial |= 1;
241 atomic_store_explicit(&pi->serial, serial, memory_order_relaxed);
248 atomic_store_explicit(&pi->serial, (len << 24) | ((serial + 1) & 0xffffff), memory_order_release);
249 __futex_wake(&pi->serial, INT32_MAX);
251 atomic_store_explicit(pa->serial(), atomic_load_explicit(pa->serial(), memory_order_relaxed) + 1,
253 __futex_wake(pa->serial(), INT32_MAX);
290 atomic_store_explicit(serial_pa->serial(),
291 atomic_load_explicit(serial_pa->serial(), memory_order_relaxed) + 1,
293 __futex_wake(serial_pa->serial(), INT32_MAX);
297 // Wait for non-locked serial, and retrieve it with acquire semantics.
298 uint32_t SystemProperties::Serial(const prop_info* pi) {
299 uint32_t serial = load_const_atomic(&pi->serial, memory_order_acquire);
300 while (SERIAL_DIRTY(serial)) {
301 __futex_wait(const_cast<_Atomic(uint_least32_t)*>(&pi->serial), serial, nullptr);
302 serial = load_const_atomic(&pi->serial, memory_order_acquire);
304 return serial;
315 // Are we waiting on the global serial or a specific serial?
327 serial_ptr = serial_pa->serial();
329 serial_ptr = const_cast<atomic_uint_least32_t*>(&pi->serial);