From 2849467d50245d449a36d9ca252db4296fac321f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Franti=C5=A1ek=20Dvo=C5=99=C3=A1k?= Date: Wed, 24 Aug 2011 15:46:45 +0000 Subject: [PATCH] Don't delete jobs before handling notifications during purge (for summary events). Fixed unused memory when failed authorization. --- org.glite.lb.server/src/srv_purge.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) 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 " -- 1.8.2.3