]> xenbits.xensource.com Git - libvirt.git/commitdiff
Avoid compiler warnings about int -> void * casts
authorDaniel P. Berrange <berrange@redhat.com>
Tue, 5 Apr 2011 14:59:17 +0000 (15:59 +0100)
committerDaniel P. Berrange <berrange@redhat.com>
Tue, 5 Apr 2011 16:43:33 +0000 (17:43 +0100)
GCC is a little confused about the cast of beginthread/beginthreadex
from unsigned long -> void *. Go via an intermediate variable avoids
the bogus warning, and makes the code a little cleaner

* src/util/threads-win32.c: Avoid compiler warning in cast

src/util/threads-win32.c

index ddb4737c56c981a616a0a1c9be43b28b3d231b76..566143793fdedf413ef01dafea26103154e1c534 100644 (file)
@@ -262,6 +262,7 @@ int virThreadCreate(virThreadPtr thread,
                     void *opaque)
 {
     struct virThreadArgs *args;
+    uintptr_t ret;
 
     if (VIR_ALLOC(args) < 0)
         return -1;
@@ -271,17 +272,20 @@ int virThreadCreate(virThreadPtr thread,
 
     thread->joinable = joinable;
     if (joinable) {
-        thread->thread = (HANDLE)_beginthreadex(NULL, 0,
-                                                virThreadHelperJoinable,
-                                                args, 0, NULL);
-        if (thread->thread == 0)
+        ret = _beginthreadex(NULL, 0,
+                             virThreadHelperJoinable,
+                             args, 0, NULL);
+        if (ret == 0)
             return -1;
     } else {
-        thread->thread = (HANDLE)_beginthread(virThreadHelperDaemon,
-                                              0, args);
-        if (thread->thread == (HANDLE)-1L)
+        ret = _beginthread(virThreadHelperDaemon,
+                           0, args);
+        if (ret == -1L)
             return -1;
     }
+
+    thread->thread = (HANDLE)ret;
+
     return 0;
 }