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
Checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to