Author: mjevans
Date: Mon May 14 01:17:22 2012
New Revision: 15304
Modified:
dbi/trunk/Changes
dbi/trunk/DBI.xs
dbi/trunk/t/35thrclone.t
Log:
apply Dave Mitchell patch fix for rt 77137
Modified: dbi/trunk/Changes
==============================================================================
--- dbi/trunk/Changes (original)
+++ dbi/trunk/Changes Mon May 14 01:17:22 2012
@@ -6,6 +6,11 @@
=cut
+=head2 Changes in DBI 1.xxx (svn rxxx)
+
+ Fixed RT#77137 - segmentation fault when a thread is created from
+ within another thread thanks to Dave Mitchell.
+
=head2 Changes in DBI 1.620 (svn r15300) 25th April 2012
Modified column renaming in fetchall_arrayref, added in 1.619,
Modified: dbi/trunk/DBI.xs
==============================================================================
--- dbi/trunk/DBI.xs (original)
+++ dbi/trunk/DBI.xs Mon May 14 01:17:22 2012
@@ -283,6 +283,7 @@
CV *ncv = (CV*)ptr_table_fetch(PL_ptr_table, (cv));
(void)param; /* avoid 'unused variable' warning */
+ mg->mg_ptr = (char *)ncv;
ima = (dbi_ima_t*) CvXSUBANY(cv).any_ptr;
Newx(nima, 1, dbi_ima_t);
*nima = *ima; /* structure copy */
Modified: dbi/trunk/t/35thrclone.t
==============================================================================
--- dbi/trunk/t/35thrclone.t (original)
+++ dbi/trunk/t/35thrclone.t Mon May 14 01:17:22 2012
@@ -52,6 +52,11 @@
cmp_ok($dbh->{Driver}->{Kids}, '==', 1, '... the Driver has one Kid')
unless $DBI::PurePerl && ok(1);
}
+
+ # RT #77137: a thread created from a thread was crashing the
+ # interpreter
+
+ threads->new(sub {})->join();
}
# load up the threads