From: Michal Voců Date: Fri, 18 May 2007 09:02:27 +0000 (+0000) Subject: fix wrong handling of notification destinations X-Git-Tag: merge_313_src~5 X-Git-Url: http://scientific.zcu.cz/git/?a=commitdiff_plain;h=22fc12274527b95b6a303600063e6f2bbbf27b99;p=jra1mw.git fix wrong handling of notification destinations --- diff --git a/org.glite.lb.logger/src/event_store.c b/org.glite.lb.logger/src/event_store.c index 6b7b3ce..37dd4f9 100644 --- a/org.glite.lb.logger/src/event_store.c +++ b/org.glite.lb.logger/src/event_store.c @@ -347,7 +347,7 @@ event_store_quarantine(struct event_store *es) int event_store_recover(struct event_store *es) { - struct event_queue *eq_l = NULL, *eq_b, *eq_b_new; + struct event_queue *eq_l = NULL, *eq_b; struct server_msg *msg; char *event_s; int fd, ret; @@ -360,7 +360,7 @@ event_store_recover(struct event_store *es) assert(es != NULL); #if defined(IL_NOTIFICATIONS) - eq_b = queue_list_get(es->dest); + /* destination queue has to be found for each message separately */ #else /* find bookkepping server queue */ eq_b = queue_list_get(es->job_id_s); @@ -532,12 +532,7 @@ event_store_recover(struct event_store *es) } #ifdef IL_NOTIFICATIONS - eq_b_new = queue_list_get(msg->dest); - if (eq_b_new != eq_b) { - free(es->dest); - es->dest = strdup(msg->dest); - eq_b = eq_b_new; - } + eq_b = queue_list_get(msg->dest); #endif /* now enqueue to the BS, if neccessary */ @@ -962,10 +957,6 @@ event_store_from_file(char *filename) goto out; } -#if defined(IL_NOTIFICATIONS) - es->dest = dest_name; -#endif - if((es->last_committed_ls == 0) && (es->last_committed_bs == 0) && (es->offset == 0)) { diff --git a/org.glite.lb.logger/src/il_master.c b/org.glite.lb.logger/src/il_master.c index d1e9ebe..ea4f97e 100644 --- a/org.glite.lb.logger/src/il_master.c +++ b/org.glite.lb.logger/src/il_master.c @@ -30,8 +30,10 @@ enqueue_msg(struct event_queue *eq, struct server_msg *msg) if(notifid_map_set_dest(msg->job_id_s, eq) < 0) return(-1); /* move all events with this notif_id from eq_known to eq */ - if(eq_known != NULL) + if(eq_known != NULL) { event_queue_move_events(eq_known, eq, msg->job_id_s); + /* XXX - we should kill the old queue too */ + } } #endif