On Sunday 22 February 2004 02:29 pm, Tim Bunce wrote: > On Sun, Feb 22, 2004 at 11:15:46AM -1000, Beau E. Cox wrote: > > Hello Folks, > > > > I have converted DBI ( the latest svn trunk - #93 ) > > to use PERL_NO_GET_CONTEXT ( with pTHX_/aTHX_ added > > where necessary ). The DBI test suite works fine, > > an I have been using it w/o problems on my production > > Apache 2.0.48/mod_perl 1.9913(cvs)/perl 5.8.3 on a Linux box > > ( kernel 2.4.25, current GNU via Sorcerer ). > > Cool. Thanks! (For those that don't know, this makes the DBI > and drivers faster and safer under threads, esp for mod_perl 2) > > > I didn't realize it when I began, but this change > > has a great impact on all DBDs: the DBIXS.h and > > dbd_xsh.h headers change, as well as the exposed DBI/ > > DBD interface, so EVERY dbd using XS would have to change > > as well. > > Yeap. That's why I didn't do it before. You'll notice the ToDO > file says "Add PERL_NO_GET_CONTEXT for multiplicity/threads": > http://search.cpan.org/src/TIMB/DBI/ToDo > > > As a learning experience, I converted DBD-mysql-2.9003 > > and am almost done with DBD-Pg-1.32_2. The mysql conversion > > effort took about two hours. > > > > NOTE: there are problems implementing this scheme in > > perl 5.8.2 - prob. the perl ithreads bug. > > > > So, it was very instructive, and I have patches for what > > I did. > > > > Tim: would you like me to submit the DBI patch? Via svn? > > Not yet. After DBI 1.41 is released I was planning to have a > discussion here about how best to manage the migration to DBI v2. > > A big part of the switch to DBI v2 is the opportunity it gives > us to break, er, fix, er, fix by breaking things. There are several > changes I want to make that are not backwards compatible. > Switching to PERL_NO_GET_CONTEXT is one of those. > > I'll start that discussion this week sometime. > > So, for now, please keep your working copy updated until I branch > off v1 and advance the trunk to v2.
Of course. Incorporating the NO_GET_CONTEXT at the time of a switch to v2 is the only sane way to implement it. Good idea. > > Meanwhile, please also test for perl5.6.1. I'll need to know it > works back there as well. OK. I will test with 5.6.1 later today and let you know the results. > > Thanks again! > > Tim. So my plan is to keep current with DBI svn and keep applying my patch and testing it to be sure it works. I will also keep DBD-mysql and DBD-Pg in-sync. I also may have a c test program (that really abuses ithread switching) ready to add to your test suite. The patch will be ready when you are. Aloha => Beau;
