On Tue, Jul 15, 2014 at 10:47:04PM -0400, Jincheng Miao wrote:
----- Original Message -----
> I'm not sure errno is set when using our virMutexInit(). Most of the
> code uses virReportError instead, I suggest using that. This should
Actually, the implement of virMutexInit() already set errno when failure:
int virMutexInit(virMutexPtr m)
{
int ret;
pthread_mutexattr_t attr;
pthread_mutexattr_init(&attr);
pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_NORMAL);
ret = pthread_mutex_init(&m->lock, &attr);
pthread_mutexattr_destroy(&attr);
if (ret != 0) {
errno = ret;
return -1;
}
return 0;
}
Oh, sorry; /me facepalms...
You're right then, but if you want to change it everywhere in the code
(which I don't require), it would be better to create a
virMutexInitInternal that takes 2 parameters; the second being a bool
that controls error reporting and virMutexInit and virMutexInitQuiet
would be two macros. Similarly to virVasprintf for example.
> be changed everywhere in the code. Rough idea of the places could be
I think it worthy of adding after all virMutexInit, I will include it in
my V2 patchset.
> gotten by the following command:
>
> git grep -nA5 virMutexInit | grep SystemError
>
> but as I said, only rough idea :)
>
> Martin
>