Author: timbo
Date: Mon Nov 19 14:41:38 2012
New Revision: 15476
Modified:
dbi/trunk/Changes
dbi/trunk/DBI.xs
Log:
Fixed RT#80474 - segfault in DESTROY with threads.
Modified: dbi/trunk/Changes
==============================================================================
--- dbi/trunk/Changes (original)
+++ dbi/trunk/Changes Mon Nov 19 14:41:38 2012
@@ -8,21 +8,24 @@
=cut
-=head2 Changes in DBI 1.623
- Added logic to force destruction of children before parents
- during global destruction. Currently experimental.
+=head2 Changes in DBI 1.623
+ Fixed RT#64330 - ping wipes out errstr (Martin J. Evans).
+ Fixed RT#80474 - segfault in DESTROY with threads.
Fixed unused variable / self-assignment compiler warnings.
Corrected typo in DBI->installed_versions docs RT#78825
thanks to Jan Dubois.
+ Corrected a spelling error thanks to Chris Sanders.
+
+ Added logic to force destruction of children before parents
+ during global destruction. Currently experimental.
Added new tests to 08keeperr for RT#64330
thanks to Kenichi Ishigaki.
- Fix RT#64330 - ping wipes out errstr.
- Removed _not_impl (Martin J. Evans).
+ Removed internal _not_impl method (Martin J. Evans).
=head2 Changes in DBI 1.622 (svn r15327) 6th June 2012
Modified: dbi/trunk/DBI.xs
==============================================================================
--- dbi/trunk/DBI.xs (original)
+++ dbi/trunk/DBI.xs Mon Nov 19 14:41:38 2012
@@ -3265,15 +3265,6 @@
profile_t1 = dbi_time(); /* just get start time here */
}
- if ((i = DBIc_DEBUGIV(imp_xxh))) { /* merge handle into global */
- I32 h_trace_level = (i & DBIc_TRACE_LEVEL_MASK);
- if ( h_trace_level > trace_level )
- trace_level = h_trace_level;
- trace_flags = (trace_flags & ~DBIc_TRACE_LEVEL_MASK)
- | ( i & ~DBIc_TRACE_LEVEL_MASK)
- | trace_level;
- }
-
#ifdef DBI_USE_THREADS
{
PerlInterpreter * h_perl;
@@ -3298,6 +3289,15 @@
}
#endif
+ if ((i = DBIc_DEBUGIV(imp_xxh))) { /* merge handle into global */
+ I32 h_trace_level = (i & DBIc_TRACE_LEVEL_MASK);
+ if ( h_trace_level > trace_level )
+ trace_level = h_trace_level;
+ trace_flags = (trace_flags & ~DBIc_TRACE_LEVEL_MASK)
+ | ( i & ~DBIc_TRACE_LEVEL_MASK)
+ | trace_level;
+ }
+
/* Check method call against Internal Method Attributes */
if (ima_flags) {