bug#20917: do not propagate IL errors - do it better way
authorJan Pospíšil <honik@ntc.zcu.cz>
Thu, 3 May 2007 15:16:58 +0000 (15:16 +0000)
committerJan Pospíšil <honik@ntc.zcu.cz>
Thu, 3 May 2007 15:16:58 +0000 (15:16 +0000)
org.glite.lb.server/src/il_lbproxy.c
org.glite.lb.server/src/request.c

index 27223d3..654ef2a 100644 (file)
@@ -1,5 +1,6 @@
 #ident "$Header$"
 
+#include <syslog.h>
 #include "glite/lb/context-int.h"
 #include "glite/lb/log_proto.h"
 
@@ -52,7 +53,13 @@ edg_wll_EventSendProxy(
 
        if ( edg_wll_log_event_send(ctx, lbproxy_ilog_socket_path, filepos,
                                                event, strlen(event), 1, &ctx->p_tmp_timeout) ) {
+               char *errt, *errd;
+               errt = errd = NULL;
+       
                edg_wll_UpdateError(ctx, EDG_WLL_IL_PROTO, "edg_wll_log_event_send()");
+               edg_wll_Error(ctx, &errt, &errd);
+               syslog(LOG_ERR,"%s (%s)", errt, errd);
+               free(errt); free(errd);
                _err(-1);
        }
 
@@ -61,7 +68,12 @@ out:
        if ( event_file ) free(event_file);
 
        if ( !err ) return 0;
-       edg_wll_UpdateError(ctx, 0, "edg_wll_EventSendProxy()");
-       if ( err < 0 ) return 0;
-       return edg_wll_Error(ctx, NULL, NULL);
+       if ( err < 0 ) {
+               /* do not propagate IL errors */
+               edg_wll_ResetError(ctx);
+               return 0;
+       } else {
+               edg_wll_UpdateError(ctx, 0, "edg_wll_EventSendProxy()");
+               return edg_wll_Error(ctx, NULL, NULL);
+       }
 }
index 60502ce..cb84b1f 100644 (file)
@@ -80,14 +80,7 @@ create_reply(const edg_wll_Context ctx, char **buf)
     break;
 
   case EDG_WLL_IL_PROTO:
-    if ( ctx->isProxy ) {
-        /* Do not propagate IL errors */
-        err_code = LB_OK;
-       if (err_msg) free(err_msg);
-       err_msg = NULL;
-    } else {
-        err_code = LB_PROTO;
-    }
+    err_code = LB_PROTO;
     break;
     
   default: