Merge branch 'bugfix/object_counter_ensure_atomic_operation' into 'main'

object counter ensure atomic operation

See merge request idf/esp-modbus!120
This commit is contained in:
Alex Lisitsyn
2025-06-10 06:51:20 +01:00

View File

@@ -39,16 +39,12 @@ uint32_t mb_port_get_inst_counter()
uint32_t mb_port_get_inst_counter_inc() uint32_t mb_port_get_inst_counter_inc()
{ {
uint32_t counter = atomic_load(&inst_counter); return atomic_fetch_add(&inst_counter, 1);
atomic_store(&inst_counter, (counter + 1));
return counter;
} }
uint32_t mb_port_get_inst_counter_dec() uint32_t mb_port_get_inst_counter_dec()
{ {
uint32_t counter = atomic_load(&inst_counter); return atomic_fetch_sub(&inst_counter, 1);
atomic_store(&inst_counter, (counter - 1));
return counter;
} }
QueueHandle_t queue_create(int queue_size) QueueHandle_t queue_create(int queue_size)