Two mutexes to minimise blocking
Path length safety, terminate cleanly when cache period = 0
Zero length artwork not accepted, more mutex locking stuff
Handle mutex errors