XSLoader revisted
[p5sagit/p5-mst-13.2.git] / ext / threads / threads.xs
index c65d3ce..ba3e488 100755 (executable)
@@ -71,7 +71,7 @@ I32 active_threads = 0;
 
 void Perl_ithread_set (pTHX_ ithread* thread)
 {
-  SV* thread_sv = newSViv((IV)thread);
+  SV* thread_sv = newSViv(PTR2IV(thread));
   if(!hv_store(PL_modglobal, "threads::self", 12, thread_sv,0)) {
     croak("%s\n","Internal error, couldn't set TLS");
   }
@@ -82,7 +82,7 @@ ithread* Perl_ithread_get (pTHX) {
   if(!thread_sv) {
     croak("%s\n","Internal error, couldn't get TLS");
   }
-  return (ithread*)SvIV(*thread_sv);
+  return INT2PTR(ithread*,SvIV(*thread_sv));
 }
 
 
@@ -519,6 +519,7 @@ Perl_ithread_self (pTHX_ SV *obj, char* Class)
        return ithread_to_SV(aTHX_ obj, thread, Class, TRUE);
    else
        Perl_croak(aTHX_ "panic: cannot find thread data");
+   return NULL; /* silence compiler warning */
 }
 
 /*