Changeset: b7de42782671 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b7de42782671 Modified Files: monetdb5/mal/mal_dataflow.c Branch: Feb2013 Log Message:
mal_dataflow.c: added some sanity checks diffs (34 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 @@ -268,7 +268,8 @@ DFLOWworker(void *t) GDKsetbuf(GDKmalloc(GDKMAXERRLEN)); /* where to leave errors */ GDKerrbuf[0] = 0; while (1) { - wq = workerqueue[id]; + assert(workerqueue[id] > 0); + wq = workerqueue[id] - 1; if (fnxt == 0) fe = q_dequeue(todo[wq]); else @@ -376,6 +377,8 @@ DFLOWinitialize(int index) { int i, worker, limit; + assert(index >= 0); + assert(index < THREADS); MT_lock_set(&mal_contextLock, "DFLOWinitialize"); if (todo[index]) { MT_lock_unset(&mal_contextLock, "DFLOWinitialize"); @@ -387,8 +390,10 @@ DFLOWinitialize(int index) if( workers[worker] == 0) break; for (i = 0; i < limit; i++){ + assert(workers[worker] == 0); MT_create_thread(&workers[worker], DFLOWworker, (void *) &workers[worker], MT_THR_JOINABLE); - workerqueue[worker] = index; + assert(workers[worker] > 0); + workerqueue[worker] = index + 1; for (; worker < THREADS; worker++) if( workers[worker] == 0) break; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list