Changeset: aa7dc5cc3dd9 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=aa7dc5cc3dd9
Modified Files:
        monetdb5/mal/mal_dataflow.c
Branch: default
Log Message:

Only create extra thread when we go into the recursion


diffs (25 lines):

diff --git a/monetdb5/mal/mal_dataflow.c b/monetdb5/mal/mal_dataflow.c
--- a/monetdb5/mal/mal_dataflow.c
+++ b/monetdb5/mal/mal_dataflow.c
@@ -676,9 +676,10 @@ runMALdataflow(Client cntxt, MalBlkPtr m
                        return MAL_SUCCEED;
                }
                i = THREADS;                    /* we didn't create an extra 
thread */
-       } else {
+       } else 
+       if( stk->calldepth){
                /* create one more worker to compensate for our waiting until
-                * all work is done */
+                * all work is done, provided we are about to perform a 
recursive call */
                MT_lock_set(&mal_contextLock, "runMALdataflow");
                for (i = 0; i < THREADS && todo->exitedcount > 0; i++) {
                        if (workers[i].flag == EXITED) {
@@ -705,7 +706,7 @@ runMALdataflow(Client cntxt, MalBlkPtr m
                        *ret = TRUE;
                        return MAL_SUCCEED;
                }
-       }
+       } else i = THREADS;
        assert(todo);
 
        flow = (DataFlow)GDKzalloc(sizeof(DataFlowRec));
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to