Author: timbo
Date: Wed Feb 22 17:29:47 2006
New Revision: 2565
Modified:
dbi/trunk/Changes
dbi/trunk/DBI.xs
Log:
Fixed for perl 5.9.x for non-threaded builds thanks to Nicholas Clark.
Users of Perl >= 5.9.x will require DBI >= 1.51.
Modified: dbi/trunk/Changes
==============================================================================
--- dbi/trunk/Changes (original)
+++ dbi/trunk/Changes Wed Feb 22 17:29:47 2006
@@ -13,6 +13,8 @@ DBI::Changes - List of significant chang
Fixed DBD::Proxy to not alter $@ in disconnect or AUTOLOADd methods.
Fixed bind_columns() to use return set_err(...) instead of die()
to report incorrect number of parameters, thanks to Ben Thul.
+ Fixed for perl 5.9.x for non-threaded builds thanks to Nicholas Clark.
+ Users of Perl >= 5.9.x will require DBI >= 1.51.
Improved performance for thread-enabled perls thanks to Gisle Aas.
Drivers can now use PERL_NO_GET_CONTEXT thanks to Gisle Aas.
Modified: dbi/trunk/DBI.xs
==============================================================================
--- dbi/trunk/DBI.xs (original)
+++ dbi/trunk/DBI.xs Wed Feb 22 17:29:47 2006
@@ -23,6 +23,9 @@ static int xsbypass = 0; /* disable XSUB
#else
static int xsbypass = 1; /* enable XSUB->XSUB shortcut */
#endif
+#ifndef CvISXSUB
+#define CvISXSUB(sv) CvXSUB(sv)
+#endif
#define DBI_MAGIC '~'
@@ -2836,7 +2839,8 @@ XS(XS_DBI_dispatch) /* prototype
*/
/* SHORT-CUT ALERT! */
- if (xsbypass && isGV(imp_msv) && CvXSUB(GvCV(imp_msv))) {
+ if (xsbypass && isGV(imp_msv) && CvISXSUB(GvCV(imp_msv))
+ && CvXSUB(GvCV(imp_msv))) {
/* If we are calling an XSUB we jump directly to its C code and
* bypass perl_call_sv(), pp_entersub() etc. This is fast.