This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
avoid DProf entering dl_unload_file() (from Alan Burlison)
[perl5.git] / ext / DynaLoader / dl_vmesa.xs
index 34d4ddd..8595e44 100644 (file)
@@ -81,7 +81,7 @@
  
        RETVAL = dlopen(filename) ;
        if (RETVAL == NULL)
-           SaveError("%s",dlerror()) ;
+           SaveError(aTHX_ "%s",dlerror()) ;
  
    Note that SaveError() takes a printf format string. Use a "%s" as
    the first parameter if the error may contain and % characters.
  
  
 static void
-dl_private_init()
+dl_private_init(pTHX)
 {
-    (void)dl_generic_private_init();
+    (void)dl_generic_private_init(aTHX);
 }
  
 MODULE = DynaLoader    PACKAGE = DynaLoader
  
 BOOT:
-    (void)dl_private_init();
+    (void)dl_private_init(aTHX);
  
  
 void *
@@ -115,15 +115,15 @@ dl_load_file(filename, flags=0)
     int                flags
     CODE:
     if (flags & 0x01)
-       warn("Can't make loaded symbols global on this platform while loading %s",filename);
-    DLDEBUG(1,PerlIO_printf(PerlIO_stderr(), "dl_load_file(%s,%x):\n", filename,flags));
+       Perl_warn(aTHX_ "Can't make loaded symbols global on this platform while loading %s",filename);
+    DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dl_load_file(%s,%x):\n", filename,flags));
     RETVAL = dlopen(filename) ;
-    DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), " libref=%lx\n", (unsigned long) RETVAL));
+    DLDEBUG(2,PerlIO_printf(Perl_debug_log, " libref=%lx\n", (unsigned long) RETVAL));
     ST(0) = sv_newmortal() ;
     if (RETVAL == NULL)
-       SaveError("%s",dlerror()) ;
+       SaveError(aTHX_ "%s",dlerror()) ;
     else
-       sv_setiv( ST(0), (IV)RETVAL);
+       sv_setiv( ST(0), PTR2IV(RETVAL) );
  
  
 void *
@@ -131,17 +131,17 @@ dl_find_symbol(libhandle, symbolname)
     void *     libhandle
     char *     symbolname
     CODE:
-    DLDEBUG(2, PerlIO_printf(PerlIO_stderr(),
+    DLDEBUG(2, PerlIO_printf(Perl_debug_log,
                             "dl_find_symbol(handle=%lx, symbol=%s)\n",
                             (unsigned long) libhandle, symbolname));
     RETVAL = dlsym(libhandle, symbolname);
-    DLDEBUG(2, PerlIO_printf(PerlIO_stderr(),
+    DLDEBUG(2, PerlIO_printf(Perl_debug_log,
                             "  symbolref = %lx\n", (unsigned long) RETVAL));
     ST(0) = sv_newmortal() ;
     if (RETVAL == NULL)
-       SaveError("%s",dlerror()) ;
+       SaveError(aTHX_ "%s",dlerror()) ;
     else
-       sv_setiv( ST(0), (IV)RETVAL);
+       sv_setiv( ST(0), PTR2IV(RETVAL) );
  
  
 void
@@ -158,9 +158,11 @@ dl_install_xsub(perl_name, symref, filename="$Package")
     void *             symref
     char *             filename
     CODE:
-    DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), "dl_install_xsub(name=%s, symref=%lx)\n",
+    DLDEBUG(2,PerlIO_printf(Perl_debug_log, "dl_install_xsub(name=%s, symref=%lx)\n",
                perl_name, (unsigned long) symref));
-    ST(0)=sv_2mortal(newRV((SV*)newXS(perl_name, (void(*)_((CV *)))symref, filename)));
+    ST(0) = sv_2mortal(newRV((SV*)newXS(perl_name,
+                                       (void(*)(pTHX_ CV *))symref,
+                                       filename)));
  
  
 char *