If pthread_mutex_lock returns a non-zero value, System exception is raised. `inline void MutexImpl::lockImpl() { if (pthread_mutex_lock(&_mutex)) throw SystemException("cannot lock mutex"); }` Can this exception contain the error code as well? Or if there's some other method which should be used to get the error value?