Quickly:
- The garray values are read/write atomically < https://github.com/Spaghettis/Spaghettis/blob/87c0639c502b461af46084ff605030f75c006737/src/m_spaghettis.h#L533 >.
- Clocks are handled by a clock manager (supposed) thread-safe and wait-free < https://github.com/Spaghettis/Spaghettis/blob/master/src/core/m_clocks.c >.
- Only clock_delay (and ringbuffer machinery) is safe in the perform method < https://github.com/Spaghettis/Spaghettis/blob/87c0639c502b461af46084ff605030f75c006737/src/m_spaghettis.h#L955 >.
Of course it is lock-free (wait-free) until somebody will catch an issue!