diff --git a/src/util/virthread.c b/src/util/virthread.c index 5ddbf7c49a..e89c1a09fb 100644 --- a/src/util/virthread.c +++ b/src/util/virthread.c @@ -39,7 +39,15 @@ int virOnce(virOnceControl *once, virOnceFunc init) { - return pthread_once(&once->once, init); + int ret; + + ret = pthread_once(&once->once, init); + if (ret != 0) { + errno = ret; + return -1; + } + + return 0; }