Changeset: a9b58b749981 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a9b58b749981
Modified Files:
        NT/monetdb_config.h.in
Branch: headless
Log Message:

Merge with default branch.


diffs (229 lines):

diff --git a/NT/monetdb_config.h.in b/NT/monetdb_config.h.in
--- a/NT/monetdb_config.h.in
+++ b/NT/monetdb_config.h.in
@@ -310,6 +310,9 @@
 /* Define to 1 if you have the `mallopt' function. */
 /* #undef HAVE_MALLOPT */
 
+/* Define to 1 if you have the `MD5' function. */
+#define HAVE_MD5 1
+
 /* Define to 1 if you have the <memory.h> header file. */
 #define HAVE_MEMORY_H 1
 
@@ -392,6 +395,9 @@
 /* Define if the compiler supports the restrict keyword */
 /* #undef HAVE_RESTRICT */
 
+/* Define to 1 if you have the `RIPEMD160' function. */
+#define HAVE_RIPEMD160 1
+
 /* Define to 1 if you have the <rlimit.h> header file. */
 /* #undef HAVE_RLIMIT_H */
 
@@ -421,6 +427,21 @@
 /* Define to 1 if you have the `setsid' function. */
 /* #undef HAVE_SETSID */
 
+/* Define to 1 if you have the `SHA1' function. */
+#define HAVE_SHA1 1
+
+/* Define to 1 if you have the `SHA224' function. */
+#define HAVE_SHA224 1
+
+/* Define to 1 if you have the `SHA256' function. */
+#define HAVE_SHA256 1
+
+/* Define to 1 if you have the `SHA384' function. */
+#define HAVE_SHA384 1
+
+/* Define to 1 if you have the `SHA512' function. */
+#define HAVE_SHA512 1
+
 /* Define to 1 if you have the `shutdown' function. */
 #define HAVE_SHUTDOWN 1
 
diff --git a/sql/backends/monet5/datacell/basket.mx 
b/sql/backends/monet5/datacell/basket.mx
--- a/sql/backends/monet5/datacell/basket.mx
+++ b/sql/backends/monet5/datacell/basket.mx
@@ -418,7 +418,7 @@
        if (bskt == 0 )
                throw(MAL,"basket.pass","Basket not found");
        if ( baskets[bskt].colcount != pci->argc - 2)
-               throw(MAL,"basket.pass","Non-matchin arguments");
+               throw(MAL,"basket.pass","Non-matching arguments");
 
        /* copy the content of the temporary BATs into the basket */
        mal_set_lock(baskets[bskt].lock, "lock basket");
@@ -426,7 +426,7 @@
                ret= *(int*) getArgReference(stk,pci,j);
                b = baskets[bskt].primary[i];
                bn = BATdescriptor(ret);
-               BATappend(b, bn, FALSE);
+               BATappend(b, bn, TRUE);
                BBPreleaseref(ret);
        }
        mal_unset_lock(baskets[bskt].lock, "unlock basket");
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
@@ -58,7 +58,7 @@
 comment "Set the protocol of the emitter to udp/tcp/csv");
 
 command drop(tb:str)
-address EMdrop
+address EMstop
 comment "Drop a emitter";
 
 command reset()
@@ -97,7 +97,7 @@
 adapters_export str DCemitterNew(int *ret, str *tbl, str *host, int *port);
 adapters_export str DCemitterPause(int *ret, str *nme);
 adapters_export str DCemitterResume(int *ret, str *nme);
-adapters_export str EMdrop(int *ret, str *nme);
+adapters_export str EMstop(int *ret, str *nme);
 adapters_export str EMreset(int *ret);
 adapters_export str EMdump();
 adapters_export str EMmode(int *ret, str *nme, str *arg);
@@ -128,8 +128,6 @@
 
 static str protocolname[4] = {"<unknown>","TCP","UDP","CSV"}; 
 
-static int protocol= TCP;
-
 #define PAUSEDEFAULT 1000
 
 typedef struct EMITTER{
@@ -207,7 +205,9 @@
        em->lck = 0;
        em->error = NULL;
        em->mode = EMACTIVE;
+       em->protocol = UDP;
        em->bskt = idx;
+       em->delay = 10;
 @-
 All tables are prepended with a default tick bat.
 It becomes the synchronization handle.
@@ -255,11 +255,6 @@
 #ifdef _DEBUG_EMITTER_
        mnstr_printf(EMout, "Instantiate a new emitter %d fields\n", i);
 #endif
-       em->status = EMLISTEN;
-       (void)ret;
-       if ( MT_create_thread(&em->pid, (void (*)(void *))EMstartThread, em, 
MT_THR_DETACHED) != 0) {
-               throw(MAL, "emitter.start", "Emitter initiation failed");
-       }
        return MAL_SUCCEED;
 }
 
@@ -291,14 +286,18 @@
        if (em == NULL)
                throw(MAL, "emitter.resume", "Emitter not defined");
        if (em->status == EMLISTEN)
-               throw(MAL, "emitter.resume", "Emitter already started");
+               throw(MAL, "emitter.resume", "Emitter running, stop it first");
 #ifdef _DEBUG_EMITTER_
        mnstr_printf(EMout, "resume an emitter\n");
 #endif
+       em->status = EMLISTEN;
+       (void)ret;
+       if ( MT_create_thread(&em->pid, (void (*)(void *))EMstartThread, em, 
MT_THR_DETACHED) != 0) 
+               throw(MAL, "emitter.start", "Emitter initiation failed");
        return MAL_SUCCEED;
 }
 
-str EMdrop(int *ret, str *nme)
+str EMstop(int *ret, str *nme)
 {
        Emitter em, rb;
 
@@ -328,7 +327,7 @@
        Emitter r,o;
        for( r= emAnchor; r; r = o){
                o= r->nxt;
-               EMdrop(ret, &r->name);
+               EMstop(ret, &r->name);
        }
        return MAL_SUCCEED;
 }
@@ -409,7 +408,10 @@
 
 bodyRestart:
        /* create the actual channel */
-       em->emitter = socket_wastream(em->newsockfd, em->name);
+       if ( em->protocol == UDP)
+                       em->emitter = udp_wastream(em->host, em->port, 
em->name);
+       else
+               em->emitter = socket_wastream(em->newsockfd, em->name);
        if (em->emitter == NULL) {
                perror("Emitter: Could not open stream");
                mnstr_printf(EMout, "stream %s.%d.%s\n", em->host, em->port, 
em->name);
@@ -483,10 +485,12 @@
                                mnstr_printf(GDKerr, em->table.error);
                                em->table.error = 0;
                        }
-               }
+               } else  
+               if ( em->delay)
+                       MT_sleep_ms(em->delay);
        }
        /* writing failed, lets restart */
-       if (em->protocol == EMPASSIVE) {
+       if (em->mode == EMPASSIVE) {
 #ifdef _DEBUG_EMITTER_
                mnstr_printf(EMout, "Restart the connection\n");
 #endif
@@ -506,15 +510,9 @@
 
 #ifdef _DEBUG_EMITTER_
        mnstr_printf(EMout, "Emitter body %s started at %s:%d, servermode=%d\n",
-               em->name, em->host, em->port, em->protocol);
+               em->name, em->host, em->port, em->mode);
 #endif
-       if (protocol == UDP) {
-               em->emitter = udp_wastream(em->host, em->port, em->name);
-               if (em->emitter == NULL) {
-                       perror("Emitter: Could not open stream");
-                       mnstr_printf(EMout, "stream %s.%d.%s\n", em->host, 
em->port, em->name);
-                       return MAL_SUCCEED;
-               }
+       if (em->mode == EMACTIVE) {
                EMbody(em);
 #ifdef _DEBUG_EMITTER_
                mnstr_printf(EMout, "End of emitter thread\n");
@@ -523,7 +521,7 @@
        }
 
        /* Handling the TCP connection */
-       if (em->protocol == EMPASSIVE &&
+       if (em->mode == EMPASSIVE &&
                (em->error = socket_server_connect(&em->sockfd, em->port))) {
                em->status = EMERROR;
                mnstr_printf(EMout, "EMSTART THREAD: failed to start 
server:%s\n", em->error);
@@ -531,7 +529,7 @@
        }
        do {
                if (em->status == EMSTOP) return MAL_SUCCEED;
-               if (em->protocol == EMPASSIVE) {
+               if (em->mode == EMPASSIVE) {
 #ifdef _DEBUG_EMITTER_
                        mnstr_printf(EMout, "Emitter listens\n");
 #endif
@@ -543,7 +541,7 @@
                }
 
                /* in server mode you should expect new connections */
-               if (em->protocol == EMACTIVE) {
+               if (em->mode == EMACTIVE) {
                        if (MT_create_thread(&em->pid, (void (*)(void 
*))EMbody, em, MT_THR_DETACHED) != 0) {
                                close_stream(em->emitter);
                                throw(MAL, "emitter.start", "Process creation 
failed");
@@ -552,7 +550,7 @@
                        EMreconnect(em);
                        EMbody(em);
                }
-       } while (em->protocol == EMPASSIVE);
+       } while (em->mode == EMPASSIVE);
        shutdown(em->newsockfd, SHUT_RDWR);
        return MAL_SUCCEED;
 } 
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to