open(HDRFILE, ">$hdrfile") or die "$0: Can't open $hdrfile: $!\n";
print HDRFILE <<ENDCODE;
void SetCPerlObj(void* pP);
+void boot_CAPI_handler(CV *cv, void (*subaddr)(CV *c), void *pP);
CV* Perl_newXS(char* name, void (*subaddr)(CV* cv), char* filename);
ENDCODE
return pPerl->Perl_get_opargs();
}
+void boot_CAPI_handler(CV *cv, void (*subaddr)(CV *c), void *pP)
+{
+#ifndef NO_XSLOCKS
+ XSLock localLock((CPerlObj*)pP);
+#endif
+ subaddr(cv);
+}
+
void xs_handler(CV* cv, CPerlObj* p)
{
void(*func)(CV*);