[libvirt] [PATCH 4/4] util: print errno in virObjectLockableNew

Martin Kletzander mkletzan at redhat.com
Wed Jul 16 06:44:05 UTC 2014


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
>>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140716/6bfcea65/attachment-0001.sig>


More information about the libvir-list mailing list