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