merge in 1.4 fixes
authorAleš Křenek <ljocha@ics.muni.cz>
Wed, 30 Nov 2005 16:30:20 +0000 (16:30 +0000)
committerAleš Křenek <ljocha@ics.muni.cz>
Wed, 30 Nov 2005 16:30:20 +0000 (16:30 +0000)
org.glite.lb.server/src/bkserverd.c
org.glite.lb.server/src/store.c.T
org.glite.lb.server/src/stored_master.c

index 3fdc08c..bc524bb 100644 (file)
@@ -985,6 +985,7 @@ int bk_accept_store(int conn, struct timeval *timeout, void *cdata)
                case ETIMEDOUT:
                case EDG_WLL_ERROR_GSS:
                case EPIPE:
+               case EIO:
                        dprintf(("[%d] %s (%s)\n", getpid(), errt, errd));
                        if (!debug) syslog(LOG_ERR,"%s (%s)", errt, errd);
                        /*      fallthrough
index b2bcbc4..3754cb2 100644 (file)
@@ -128,7 +128,7 @@ int edg_wll_StoreEvent(edg_wll_Context ctx,edg_wll_Event *e,int *seq)
                free(stmt);
        }
 
-       free(stmt);
+       free(stmt); stmt = NULL;
        if ((err = store_seq(ctx,e,next)) ||
                (err = store_flesh(ctx,e,jobid,next))) {
        /* attempt to cleanup, ignore new errors */
@@ -333,11 +333,13 @@ static int store_flesh(edg_wll_Context ctx,edg_wll_Event *e,char *jobid,int no)
        for (i=0; i<sizeof(f)/sizeof(f[0]); i++) free(f[i].val);
 
 /* XXX: hardcoded, no other suitable place to store it */
-       trio_asprintf(&stmt,"insert into short_fields(jobid,event,name,value) "
-               "values ('%|Ss',%d,'SRC_INSTANCE','%|Ss')",
-               jobid,no,e->any.src_instance);
-       if (edg_wll_ExecStmt(ctx,stmt,NULL) < 0) err = edg_wll_Error(ctx,NULL,NULL);
-       free(stmt);
+       if (!err) {
+               trio_asprintf(&stmt,"insert into short_fields(jobid,event,name,value) "
+                       "values ('%|Ss',%d,'SRC_INSTANCE','%|Ss')",
+                       jobid,no,e->any.src_instance);
+               if (edg_wll_ExecStmt(ctx,stmt,NULL) < 0) err = edg_wll_Error(ctx,NULL,NULL);
+               free(stmt);
+       }
 
        return err;
 }
index 748d851..5bb33f4 100644 (file)
@@ -59,7 +59,7 @@ int edg_wll_StoreProto(edg_wll_Context ctx)
        edg_wll_ResetError(ctx);
        ret = read_il_data(ctx, &buf, gss_reader);
        if(ret < 0) 
-         return(ret);
+         return edg_wll_SetError(ctx,EIO,"interlogger protocol");
 
        handle_request(ctx,buf);
        free(buf);