Presumably you've removed this because pthread_mutex_lock/unlock might manipulate state (or at least the compiler can't tell otherwise)?