Skip to content

Commit 93fc439

Browse files
committed
Just iterate over the whole event pool.
1 parent 76cf819 commit 93fc439

1 file changed

Lines changed: 2 additions & 10 deletions

File tree

catkit_core/LocalMessageBroker.cpp

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -377,7 +377,6 @@ Message LocalMessageBroker::PublishMessage(Message message, bool is_final)
377377
// Track which event indices need to be signaled (to avoid duplicates)
378378
std::array<bool, EVENT_POOL_SIZE> signaled_events{};
379379
signaled_events.fill(false);
380-
std::size_t num_signaled = 0;
381380

382381
// Publish the message to all subtopics.
383382
for (const auto &subtopic : SubtopicRange(topic))
@@ -387,11 +386,7 @@ Message LocalMessageBroker::PublishMessage(Message message, bool is_final)
387386
DEBUG_PRINT("Publishing to subtopic \"" << subtopic << "\".");
388387

389388
// Track this subtopic's event for signaling
390-
if (!signaled_events[topic_header->event_index])
391-
{
392-
signaled_events[topic_header->event_index] = true;
393-
num_signaled++;
394-
}
389+
signaled_events[topic_header->event_index] = true;
395390

396391
std::uint64_t first_id = topic_header->first_frame_id.load(std::memory_order_relaxed);
397392

@@ -473,13 +468,10 @@ Message LocalMessageBroker::PublishMessage(Message message, bool is_final)
473468
}
474469

475470
// Signal all unique events for the subtopics
476-
for (std::size_t i = 0; i < EVENT_POOL_SIZE && num_signaled > 0; ++i)
471+
for (std::size_t i = 0; i < EVENT_POOL_SIZE; ++i)
477472
{
478473
if (signaled_events[i])
479-
{
480474
m_EventPool[i]->Signal();
481-
num_signaled--;
482-
}
483475
}
484476

485477
// Deallocate the message header and payload.

0 commit comments

Comments
 (0)