in reply to avoiding a race

Assuming you generally don't expect errors, why don't you put your flock into the error handling code? That way, under normal circumstances there is no bottle neck. There necessarily must be a bottle neck somewhere if you want to check 300 error messages against each other.