From 22fc12274527b95b6a303600063e6f2bbbf27b99 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Michal=20Voc=C5=AF?= Date: Fri, 18 May 2007 09:02:27 +0000 Subject: [PATCH] fix wrong handling of notification destinations --- org.glite.lb.logger/src/event_store.c | 15 +++------------ org.glite.lb.logger/src/il_master.c | 4 +++- 2 files changed, 6 insertions(+), 13 deletions(-) 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 -- 1.8.2.3