Changeset: 7a586242c755 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7a586242c755
Modified Files:
        monetdb5/mal/mal.c
        monetdb5/mal/mal_client.mx
        monetdb5/mal/mal_session.c
        monetdb5/modules/mal/mal_mapi.mx
Branch: default
Log Message:

Merged from Aug2011


diffs (truncated from 350 to 300 lines):

diff --git a/buildtools/autogen/autogen/am.py b/buildtools/autogen/autogen/am.py
--- a/buildtools/autogen/autogen/am.py
+++ b/buildtools/autogen/autogen/am.py
@@ -16,6 +16,7 @@
 # All Rights Reserved.
 
 import os
+import posixpath
 from codegen import find_org
 import re
 
@@ -292,7 +293,7 @@ def am_dep(fd, t, deplist, am, pref = ''
     fd.write(pref + n + ":")
     rv.append(pref + n)
     for d in deplist:
-        if not os.path.isabs(d):
+        if not posixpath.isabs(d):
             fd.write(" " + am_translate_dir(d, am))
         else:
             print("!WARNING: dropped absolute dependency " + d)
@@ -994,12 +995,12 @@ def am_gem(fd, var, gem, am):
         dirs = []
         for src in srcs:
             if '/' in src:
-                d = os.path.dirname(src)
+                d = posixpath.dirname(src)
                 if d not in dirs:
-                    fd.write("\t[ '$(srcdir)' -ef . ] || mkdir -p '%s'\n" % 
os.path.dirname(src))
+                    fd.write("\t[ '$(srcdir)' -ef . ] || mkdir -p '%s'\n" % 
posixpath.dirname(src))
                     dirs.append(d)
                     while '/' in d:
-                        d = os.path.dirname(d)
+                        d = posixpath.dirname(d)
                         dirs.append(d)
             fd.write("\t[ '$(srcdir)' -ef . ] || cp -p '$(srcdir)/%s' '%s'\n" 
% (src, src))
         fd.write("\tgem build '%s'\n" % f)
@@ -1040,7 +1041,7 @@ def am_python(fd, var, python, am):
                    pyre.search(open(os.path.join(am['CWDRAW'], 
f)).read()).group(1).split(', '))
         pkgnams.append(pynmre.search(open(os.path.join(am['CWDRAW'], 
f)).read()).group(2))
         for pkg in pkgs:
-            pkgdir = apply(os.path.join, pkg.split('.'))
+            pkgdir = apply(posixpath.join, pkg.split('.'))
             pkgdirs.append(pkgdir)
             fd.write("\t[ '$(srcdir)' -ef . ] || mkdir -p '%s'\n" % pkgdir)
             fd.write("\t[ '$(srcdir)' -ef . ] || cp -p '$(srcdir)/%s'/*.py 
'%s'\n" % (pkgdir, pkgdir))
@@ -1128,7 +1129,7 @@ def am_add_srcdir(path, am, prefix =""):
     dir = path
     if dir[0] == '$':
         return ""
-    elif not os.path.isabs(dir):
+    elif not posixpath.isabs(dir):
         dir = "$(srcdir)/" + dir
     else:
         return ""
diff --git a/clients/odbc/winsetup/banner.bmp b/clients/odbc/winsetup/banner.bmp
index 
083868fe3127dc4c23c3220707f9f215a9fb6102..55ca8c7c1dfb2244e729d3f8aeb829e9aa753669
GIT binary patch
literal 64854
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

diff --git a/monetdb5/mal/mal.c b/monetdb5/mal/mal.c
--- a/monetdb5/mal/mal.c
+++ b/monetdb5/mal/mal.c
@@ -284,7 +284,6 @@ void mal_exit(void){
         * Before continuing we should make sure that all clients
         * (except the console) have left the scene.
         */
-       MCexitPending();
        RECYCLEshutdown(mal_clients); /* remove any left over intermediates */
        stopProfiling();
 #if 0
diff --git a/monetdb5/mal/mal_client.mx b/monetdb5/mal/mal_client.mx
--- a/monetdb5/mal/mal_client.mx
+++ b/monetdb5/mal/mal_client.mx
@@ -83,7 +83,7 @@ All Rights Reserved.
 #define FREECLIENT  0
 #define FINISHING   1   
 #define CLAIMED     2
-#define AWAITING    4
+#define AWAITING    4   /* not used, see bug #1939 */
 
 #define TIMEOUT     (5*60)  /* seconds */
 #define PROCESSTIMEOUT  2   /* seconds */
@@ -409,57 +409,14 @@ Client MCgetClient(int id)
        return(mal_clients + id);
 }
 
-Client MCfindClient(oid user, str scen, bstream *fin, stream *fout) 
+Client
+MCfindClient(oid user, str scen, bstream *fin, stream *fout)
 {
-       Client c = NULL;
-       Scenario s = findScenario(scen);
-
-       if (!s) 
-               return NULL;
-
-       mal_set_lock(mal_contextLock, "newClient");
-       if (mal_clients[CONSOLE].user &&
-           mal_clients[CONSOLE].mode == FINISHING) {
-               showException(MAL,"newClient", "system shutdown in progress");
-               mal_unset_lock(mal_contextLock, "newClient");
-               return NULL;
-       }
-       for (c = mal_clients; c < mal_clients+MAL_MAXCLIENTS; c++) {
-               if (c->mode == AWAITING && c->scenario == s->name) {
-                       /* remove garbage from previous session */
-                       if( c->nspace) {
-                               freeModule(c->nspace);
-                               c->nspace=0;
-                       }
-                       c->mode = CLAIMED;
-                       break;
-               }
-       }
-       mal_unset_lock(mal_contextLock, "newClient");
-
-       if (c == mal_clients+MAL_MAXCLIENTS) 
-               return NULL;
-#ifdef MAL_CLIENT_DEBUG
-       printf("Client found %d\n", c->idx);
-#endif
-       if (c) {
-               /* TODO reset client */
-               c->user = user; 
-               c->fdin = fin ? fin : bstream_create(GDKin,0);
-               c->yycur = 0;
-               c->bak = NULL;
-
-               c->listing = 0;
-               c->flags= MCdefault;
-               c->fdout = fout ? fout : GDKstdout;
-               c->mdb = 0;
-               c->login = time(0);
-               memset((char *)c->rcc, 0, sizeof(RecStat));
-               c->rcc->curQ = -1;
-               /* (re)activate thread */
-               MT_sema_up(&c->s, "MCfindClient");
-      return c;
-       }
+       /* can't break ABI in release branch */
+       (void) user;
+       (void) scen;
+       (void) fin;
+       (void) fout;
        return NULL;
 }
 
@@ -488,24 +445,8 @@ MCexitClient(Client c)
 int
 MCwait(Client c) 
 {
-       if (c != mal_clients && c->mode == FINISHING) {
-               mal_set_lock(mal_contextLock, "wait");
-               c->mode = AWAITING;
-               /* close streams */
-               mal_unset_lock(mal_contextLock, "wait");
-               MCexitClient(c);
-               /* wait for work */
-#ifdef MAL_DEBUG_CLIENT
-               mnstr_printf(c->fdout,"Put client into pool %d\n",c->idx);
-#endif
-               MT_sema_down(&c->s, "MSserveClient");
-#ifdef MAL_DEBUG_CLIENT
-               mnstr_printf(c->fdout,"Awake client in pool %d\n",c->idx);
-#endif
-               c->mythread->data[1] = c->fdin;
-               c->mythread->data[0] = c->fdout;
-               return (c->mode == CLAIMED);
-       }
+       /* can't break ABI in release branch */
+       (void) c;
        return 1;
 }
 
@@ -754,17 +695,8 @@ void MCcleanupClients(void){
 void 
 MCexitPending(void)
 {
-       Client c;
-
-       mal_set_lock(mal_contextLock, "MCexitPending");
-       for (c = mal_clients+1; c < mal_clients+MAL_MAXCLIENTS; c++) {
-               if (c->mode == AWAITING) {
-                       c->mode = FINISHING;
-                       /* (re)activate thread */
-                       MT_sema_up(&c->s, "MCfindClient");
-               }
-       }
-       mal_unset_lock(mal_contextLock, "MCexitPending");
+       /* can't break ABI in release branch */
+       return;
 }
 
 str
diff --git a/monetdb5/mal/mal_session.c b/monetdb5/mal/mal_session.c
--- a/monetdb5/mal/mal_session.c
+++ b/monetdb5/mal/mal_session.c
@@ -230,7 +230,7 @@ MSscheduleClient(str command, str challe
        {
                mnstr_printf(fout, "!request for database '%s', "
                                "but this is database '%s', "
-                               "did you mean to connect to merovingian 
instead?\n",
+                               "did you mean to connect to monetdbd 
instead?\n",
                                database, GDKgetenv("gdk_dbname"));
                /* flush the error to the client, and abort further execution */
                mnstr_flush(fout);
@@ -283,16 +283,6 @@ MSscheduleClient(str command, str challe
                        SABAOTHfreeStatus(&stats);
                }
 
-               /* find and reactivate client */
-               c = MCfindClient(uid, lang, fin, fout);
-               if (c != NULL) {
-                       mnstr_printf(fout, "!internal server error 
(findClient), "
-                                       "please try again later\n");
-                       mnstr_flush(fout);
-                       GDKfree(command);
_______________________________________________
Checkin-list mailing list
Checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to