Re: [Monetdb-developers] [Monetdb-checkins] MonetDB5/src/mal mal_interpreter.mx, , 1.303, 1.304
Is this a bug fix? On 2009-05-23 11:56, Martin Kersten wrote:
Update of /cvsroot/monetdb/MonetDB5/src/mal In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv19871
Modified Files: mal_interpreter.mx Log Message: We better protect global variables in the interpreter.
U mal_interpreter.mx Index: mal_interpreter.mx =================================================================== RCS file: /cvsroot/monetdb/MonetDB5/src/mal/mal_interpreter.mx,v retrieving revision 1.303 retrieving revision 1.304 diff -u -d -r1.303 -r1.304 --- mal_interpreter.mx 16 May 2009 18:26:23 -0000 1.303 +++ mal_interpreter.mx 23 May 2009 09:55:57 -0000 1.304 @@ -734,11 +734,12 @@ #endif @:performanceVariables@
-#ifdef DEBUG_FLOW2 + pci = getInstrPtr(flow->mb, stkpc); +#ifdef DEBUG_FLOW stream_printf(cntxt->fdout,"#execute thread %d \n", tid); + printInstruction(GDKstdout, flow->mb, 0, pci, LIST_MAL_ALL); #endif THRset_errbuf(THRget(THRgettid()), cntxt->errbuf); /* where to leave errors */ - pci = getInstrPtr(flow->mb, stkpc); if (stk->cmd || mb->trap) { lng tm = 0; if( oldtimer) @@ -857,9 +858,13 @@ { int i;
- assert(worker == NULL); + mal_set_lock(mal_contextLock, "DFLOWcreate"); + if ( work != NULL){ + mal_unset_lock(mal_contextLock, "DFLOWcreate"); + return; + }
- work = q_create(256); + work = q_create(256); /* seems enough for the time being */
nway = GDKnr_threads; worker = (FlowTask *) GDKzalloc(sizeof(FlowTask)*nway); @@ -868,6 +873,7 @@ /* create the thread and let it wait */ MT_create_thread(&worker[i].tid, runDFLOWworker, worker+i); } + mal_unset_lock(mal_contextLock, "DFLOWcreate"); }
static void
------------------------------------------------------------------------------ Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT is a gathering of tech-side developers & brand creativity professionals. Meet the minds behind Google Creative Lab, Visual Complexity, Processing, & iPhoneDevCamp asthey present alongside digital heavyweights like Barbarian Group, R/GA, & Big Spaceship. http://www.creativitycat.com _______________________________________________ Monetdb-checkins mailing list Monetdb-checkins@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-checkins
-- Sjoerd Mullender
Sjoerd Mullender wrote:
Is this a bug fix? no bug report has been given, it is just a little more defensiveness.
On 2009-05-23 11:56, Martin Kersten wrote:
Update of /cvsroot/monetdb/MonetDB5/src/mal In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv19871
Modified Files: mal_interpreter.mx Log Message: We better protect global variables in the interpreter.
U mal_interpreter.mx Index: mal_interpreter.mx =================================================================== RCS file: /cvsroot/monetdb/MonetDB5/src/mal/mal_interpreter.mx,v retrieving revision 1.303 retrieving revision 1.304 diff -u -d -r1.303 -r1.304 --- mal_interpreter.mx 16 May 2009 18:26:23 -0000 1.303 +++ mal_interpreter.mx 23 May 2009 09:55:57 -0000 1.304 @@ -734,11 +734,12 @@ #endif @:performanceVariables@
-#ifdef DEBUG_FLOW2 + pci = getInstrPtr(flow->mb, stkpc); +#ifdef DEBUG_FLOW stream_printf(cntxt->fdout,"#execute thread %d \n", tid); + printInstruction(GDKstdout, flow->mb, 0, pci, LIST_MAL_ALL); #endif THRset_errbuf(THRget(THRgettid()), cntxt->errbuf); /* where to leave errors */ - pci = getInstrPtr(flow->mb, stkpc); if (stk->cmd || mb->trap) { lng tm = 0; if( oldtimer) @@ -857,9 +858,13 @@ { int i;
- assert(worker == NULL); + mal_set_lock(mal_contextLock, "DFLOWcreate"); + if ( work != NULL){ + mal_unset_lock(mal_contextLock, "DFLOWcreate"); + return; + }
- work = q_create(256); + work = q_create(256); /* seems enough for the time being */
nway = GDKnr_threads; worker = (FlowTask *) GDKzalloc(sizeof(FlowTask)*nway); @@ -868,6 +873,7 @@ /* create the thread and let it wait */ MT_create_thread(&worker[i].tid, runDFLOWworker, worker+i); } + mal_unset_lock(mal_contextLock, "DFLOWcreate"); }
static void
------------------------------------------------------------------------------ Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT is a gathering of tech-side developers & brand creativity professionals. Meet the minds behind Google Creative Lab, Visual Complexity, Processing, & iPhoneDevCamp asthey present alongside digital heavyweights like Barbarian Group, R/GA, & Big Spaceship. http://www.creativitycat.com _______________________________________________ Monetdb-checkins mailing list Monetdb-checkins@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-checkins
participants (2)
-
Martin Kersten
-
Sjoerd Mullender