提交 995bf76d 编写于 作者: J John Ferlan

shunloadtest: Resolve Coverity CHECKED_RETURN error

The shunloadStart function didn't check the status of virInitialize which
was flagged by Coverity.  Adjust the function and shunloadtest in order
to handle the situation.
上级 01757a46
......@@ -36,16 +36,20 @@ static void shunloadError(void *userData ATTRIBUTE_UNUSED,
{
}
void shunloadStart(void);
int shunloadStart(void);
void shunloadStart(void) {
int shunloadStart(void) {
virConnectPtr conn;
virSetErrorFunc(NULL, shunloadError);
virInitialize();
if (virInitialize() < 0)
return -1;
conn = virConnectOpen("test:///default");
virDomainDestroy(NULL);
if (conn)
if (conn) {
virConnectClose(conn);
return 0;
}
return -1;
}
......@@ -56,17 +56,22 @@
pthread_cond_t cond = PTHREAD_COND_INITIALIZER;
pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER;
bool running = false;
bool failstart = false;
bool quit = false;
static void *threadMain(void *arg)
{
void (*startup)(void) = arg;
startup();
pthread_mutex_lock(&lock);
running = true;
pthread_cond_signal(&cond);
int (*startup)(void) = arg;
if (startup() < 0) {
pthread_mutex_lock(&lock);
failstart = true;
pthread_cond_signal(&cond);
} else {
pthread_mutex_lock(&lock);
running = true;
pthread_cond_signal(&cond);
}
while (!quit) {
pthread_cond_wait(&cond, &lock);
......@@ -119,7 +124,7 @@ int main(int argc ATTRIBUTE_UNUSED, char **argv)
/* Wait for the thread to start and call libvirt */
pthread_mutex_lock(&lock);
while (!running) {
while (!running && !failstart) {
pthread_cond_wait(&cond, &lock);
}
......@@ -138,7 +143,10 @@ int main(int argc ATTRIBUTE_UNUSED, char **argv)
* causing a SEGV !
*/
fprintf(stderr, "OK\n");
if (failstart)
fprintf(stderr, "FAIL to initialize libvirt\n");
else
fprintf(stderr, "OK\n");
return 0;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册