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
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list