Можно сделать кольцевой буфер такого размера, чтобы его индекс укладывался в sig_atomic_t. Прерывание пихает значения в буфер, поток их оттуда читает. Получается вообще жирно, но зато и агрегаты можно гонять.
Не надо делать мне как лучше, оставьте мне как хорошо