On Tue, Jul 22, 2008 at 03:48:02PM +0000, Sjoerd Mullender wrote:
Update of /cvsroot/monetdb/MonetDB5/src/mal In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv5497
Modified Files: mal_recycle.mx Log Message: Fix so that initialization happens *exactly* once. The initialization of a per-process (a.k.a. global) varirable should be governed by a per-process variable, not a per-thread or per-something-else variable. Especially not if that variable isn't actually used to indicate whether initialization took place (see OPTrecycleImplementation in src/optimizer/opt_recycler.mx where version was set to -1 which broke the use here.
This fixes most of the numerous SQL tests that were failing on Windows (with M5 server, only) --- thank you very much for caring and taking care! Stefan
U mal_recycle.mx Index: mal_recycle.mx =================================================================== RCS file: /cvsroot/monetdb/MonetDB5/src/mal/mal_recycle.mx,v retrieving revision 1.120 retrieving revision 1.121 diff -u -d -r1.120 -r1.121 --- mal_recycle.mx 22 Jul 2008 06:27:53 -0000 1.120 +++ mal_recycle.mx 22 Jul 2008 15:47:58 -0000 1.121 @@ -244,10 +244,13 @@
void RECYCLEversion(Client cntxt, MalBlkPtr mb) { + static int recycleLockInitialized = 0; int i;
- if (mb->version == 0) + if (!recycleLockInitialized) { MT_init_lock(recycleLock,"recycleLock"); + recycleLockInitialized = 1; + } if ( mb->version && mb->version != recycleVersion) { mal_set_lock(recycleLock,"recycle"); /* all re-used instructions are dropped */ @@ -257,8 +260,8 @@ (void) cntxt; #endif for(i=1; i<mb->stop; i++) - if (getInstrPtr(mb,i)->recycle) - getInstrPtr(mb,i)->recycle = -1; + if (getInstrPtr(mb,i)->recycle) + getInstrPtr(mb,i)->recycle = -1; mal_unset_lock(recycleLock,"recycle"); } mb->version = recycleVersion;
------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Monetdb-checkins mailing list Monetdb-checkins@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-checkins
-- | Dr. Stefan Manegold | mailto:Stefan.Manegold@cwi.nl | | CWI, P.O.Box 94079 | http://www.cwi.nl/~manegold/ | | 1090 GB Amsterdam | Tel.: +31 (20) 592-4212 | | The Netherlands | Fax : +31 (20) 592-4312 |