Changeset: 480c70073a04 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=480c70073a04
Modified Files:
sql/backends/monet5/datacell/emitter.mx
Branch: default
Log Message:
Protect against duplicate port use
diffs (30 lines):
diff --git a/sql/backends/monet5/datacell/emitter.mx
b/sql/backends/monet5/datacell/emitter.mx
--- a/sql/backends/monet5/datacell/emitter.mx
+++ b/sql/backends/monet5/datacell/emitter.mx
@@ -196,6 +196,9 @@
if (EMfind(*tbl))
throw(MAL, "emitter.new", "Duplicate emitter");
+ for ( i = 1; i < bsktTop; i++)
+ if ( baskets[i].port == *port)
+ throw(MAL,"receptor.new","Port already in use");
idx = BSKTlocate(*tbl);
if (idx == 0) /* should not happen */
@@ -228,6 +231,7 @@
em->table.format[0].seplen = (int)strlen(em->table.format[0].sep);
em->status = EMSTOP;
+ baskets[idx].port = *port;
for (j = 0, i = 0; i < baskets[idx].colcount; i++) {
b = baskets[idx].primary[j];
if (b == NULL) {
@@ -480,7 +484,7 @@
BSKTunlock(&em->lck, &em->name);
if ((cnt = BATcount(em->table.format[0].c[0]))) {
MTIMEcurrent_timestamp(&baskets[em->bskt].seen);
- baskets[em->bskt].events = cnt;
+ baskets[em->bskt].events += cnt;
baskets[em->bskt].grabs ++;
if (em->status != EMLISTEN)
break;
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list