From: František Dvořák Date: Wed, 24 Aug 2011 15:46:45 +0000 (+0000) Subject: Don't delete jobs before handling notifications during purge (for summary events). X-Git-Tag: merge_jobhistory_head_src~15 X-Git-Url: http://scientific.zcu.cz/git/?a=commitdiff_plain;h=2849467d50245d449a36d9ca252db4296fac321f;p=jra1mw.git Don't delete jobs before handling notifications during purge (for summary events). Fixed unused memory when failed authorization. --- diff --git a/org.glite.lb.server/src/srv_purge.c b/org.glite.lb.server/src/srv_purge.c index b6370b6..2ccc968 100644 --- a/org.glite.lb.server/src/srv_purge.c +++ b/org.glite.lb.server/src/srv_purge.c @@ -250,6 +250,11 @@ int edg_wll_PurgeServer(edg_wll_Context ctx,const edg_wll_PurgeRequest *request, purge_ctx_t prg; struct _edg_wll_GssPrincipal_data princ; + memset(&prg, 0, sizeof prg); + prg.naffected_jobs = 0; + prg.parse = 0; + prg.dumpfile = -1; + memset(&princ, 0, sizeof princ); princ.name = ctx->peerName; princ.fqans = ctx->fqans; @@ -262,11 +267,6 @@ int edg_wll_PurgeServer(edg_wll_Context ctx,const edg_wll_PurgeRequest *request, edg_wll_ResetError(ctx); memset(result, 0, sizeof(*result)); - memset(&prg, 0, sizeof prg); - prg.naffected_jobs = 0; - prg.parse = 0; - prg.dumpfile = -1; - if ( (request->flags & EDG_WLL_PURGE_SERVER_DUMP) && ((prg.dumpfile = edg_wll_CreateTmpPurgeFile(ctx, &tmpfname)) == -1 ) ) goto abort; @@ -798,6 +798,10 @@ int purge_one(edg_wll_Context ctx,edg_wll_JobStat *stat,int dump, int purge, int edg_wll_ResetError(ctx); } + // notifications + memcpy(&new_stat, stat, sizeof new_stat); + new_stat.state = EDG_WLL_JOB_PURGED; + edg_wll_NotifMatch(ctx, stat, &new_stat); } if ( purge ) @@ -914,14 +918,6 @@ int purge_one(edg_wll_Context ctx,edg_wll_JobStat *stat,int dump, int purge, int free(stmt); stmt = NULL; } - if ( purge ) - { - // notifications - memcpy(&new_stat, stat, sizeof new_stat); - new_stat.state = EDG_WLL_JOB_PURGED; - edg_wll_NotifMatch(ctx, stat, &new_stat); - } - if (dump >= 0) trio_asprintf(&stmt, "select event,code,prog,host,u.cert_subj,time_stamp,usec,level,arrived,seqcode "