Current logic in the TCProcessor to check for pending TCs (mostly relevant when merging is on and there is some non-negligible buffer timeout) is based on a polling mechanism with a small timeout to allow the producer thread to also insert into the vector. (See #410 for details.)
Relevant code is here: https://github.com/DUNE-DAQ/trigger/blob/v2.5.1/src/TCProcessor.cpp#L355
It was suggested to streamline this more to use more event-driven method (notify / callback ...).