Changeset: b21f46022b87 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b21f46022b87
Modified Files:
        monetdb5/mal/mal_session.c
        monetdb5/optimizer/opt_pipes.c
Branch: Jun2016
Log Message:

Protect against failing client thread creation


diffs (35 lines):

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
@@ -44,11 +44,14 @@ malBootstrap(void)
        initLibraries();
        if ( (msg = defaultScenario(c)) ) {
                GDKfree(msg);
-               GDKerror("Failed to initialise default scenario");
+               GDKerror("malBootstrap:Failed to initialise default scenario");
                return 0;
        }
        MSinitClientPrg(c, "user", "main");
-       (void) MCinitClientThread(c);
+       if( MCinitClientThread(c) < 0){
+               GDKerror("malBootstrap:Failed to create client thread");
+               return 0;
+       }
        s = malInclude(c, bootfile, 0);
        if (s != NULL) {
                mnstr_printf(GDKout, "!%s\n", s);
diff --git a/monetdb5/optimizer/opt_pipes.c b/monetdb5/optimizer/opt_pipes.c
--- a/monetdb5/optimizer/opt_pipes.c
+++ b/monetdb5/optimizer/opt_pipes.c
@@ -456,7 +456,10 @@ compileOptimizer(Client cntxt, str name)
                                MT_lock_unset(&pipeLock);
                                throw(MAL, "optimizer.addOptimizerPipe", 
"failed to set scenario");
                        }
-                       (void) MCinitClientThread(&c);
+                       if( MCinitClientThread(&c) < 0){
+                               MT_lock_unset(&pipeLock);
+                               throw(MAL, "optimizer.addOptimizerPipe", 
"failed to create client thread");
+                       }
                        for (j = 0; j < MAXOPTPIPES && pipes[j].def; j++) {
                                if (pipes[j].mb == NULL) {
                                        if (pipes[j].prerequisite && 
getAddress(c.fdout, NULL, optimizerRef, pipes[j].prerequisite, TRUE) == NULL)
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to