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

View: New views
1 Messages — Rating Filter:   Alert me  

Parent Message unknown Re: [Monetdb-checkins] MonetDB5/src/mal mal_recycle.mx, , 1.120, 1.121

by Stefan Manegold :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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

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

-------------------------------------------------------------------------
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-developers mailing list
Monetdb-developers@...
https://lists.sourceforge.net/lists/listinfo/monetdb-developers