1
0
mirror of https://github.com/esphome/esphome.git synced 2025-10-31 07:03:55 +00:00
This commit is contained in:
J. Nick Koston
2025-07-20 12:27:51 -10:00
parent 232d3a8b89
commit 82970b640f

View File

@@ -541,14 +541,8 @@ uint64_t Scheduler::millis_64_(uint32_t now) {
// Combine major (high 32 bits) and now (low 32 bits) into 64-bit time // Combine major (high 32 bits) and now (low 32 bits) into 64-bit time
return now + (static_cast<uint64_t>(major) << 32); return now + (static_cast<uint64_t>(major) << 32);
<<<<<<< HEAD
#endif // ESPHOME_CORES_SINGLE
#ifdef ESPHOME_CORES_MULTI_NO_ATOMICS #elif defined(ESPHOME_CORES_MULTI_NO_ATOMICS)
=======
#elif defined(ESPHOME_CORES_MULTI_NO_ATOMICS)
>>>>>>> api_cleanups_2
// This is the multi core no atomics implementation. // This is the multi core no atomics implementation.
// //
// Without atomics, this implementation uses locks more aggressively: // Without atomics, this implementation uses locks more aggressively:
@@ -596,13 +590,8 @@ uint64_t Scheduler::millis_64_(uint32_t now) {
// Combine major (high 32 bits) and now (low 32 bits) into 64-bit time // Combine major (high 32 bits) and now (low 32 bits) into 64-bit time
return now + (static_cast<uint64_t>(major) << 32); return now + (static_cast<uint64_t>(major) << 32);
<<<<<<< HEAD
#endif // ESPHOME_CORES_MULTI_NO_ATOMICS
#ifdef ESPHOME_CORES_MULTI_ATOMICS
=======
#elif defined(ESPHOME_CORES_MULTI_ATOMICS) #elif defined(ESPHOME_CORES_MULTI_ATOMICS)
>>>>>>> api_cleanups_2
// This is the multi core with atomics implementation. // This is the multi core with atomics implementation.
// //
// Uses atomic operations with acquire/release semantics to ensure coherent // Uses atomic operations with acquire/release semantics to ensure coherent
@@ -664,15 +653,11 @@ uint64_t Scheduler::millis_64_(uint32_t now) {
} }
// Unreachable - the loop always returns when major_end == major // Unreachable - the loop always returns when major_end == major
__builtin_unreachable(); __builtin_unreachable();
<<<<<<< HEAD
#endif // ESPHOME_CORES_MULTI_ATOMICS
=======
#else #else
#error \ #error \
"No platform threading model defined. One of ESPHOME_CORES_SINGLE, ESPHOME_CORES_MULTI_NO_ATOMICS, or ESPHOME_CORES_MULTI_ATOMICS must be defined." "No platform threading model defined. One of ESPHOME_CORES_SINGLE, ESPHOME_CORES_MULTI_NO_ATOMICS, or ESPHOME_CORES_MULTI_ATOMICS must be defined."
#endif #endif
>>>>>>> api_cleanups_2
} }
bool HOT Scheduler::SchedulerItem::cmp(const std::unique_ptr<SchedulerItem> &a, bool HOT Scheduler::SchedulerItem::cmp(const std::unique_ptr<SchedulerItem> &a,