[Monetdb-developers] [Monetdb-checkins] MonetDB5/src/mal mal_recycle.mx, , 1.120, 1.121

Stefan Manegold Stefan.Manegold at cwi.nl
Wed Jul 23 09:31:15 CEST 2008


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 at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/monetdb-checkins

-- 
| Dr. Stefan Manegold | mailto:Stefan.Manegold at 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       |




More information about the developers-list mailing list