don't keep job log on error
authorAleš Křenek <ljocha@ics.muni.cz>
Tue, 20 Nov 2007 14:29:21 +0000 (14:29 +0000)
committerAleš Křenek <ljocha@ics.muni.cz>
Tue, 20 Nov 2007 14:29:21 +0000 (14:29 +0000)
org.glite.lb.server/src/db_store.c

index 11b18ac..7ac1a70 100644 (file)
@@ -62,12 +62,19 @@ db_store(edg_wll_Context ctx,char *ucs, char *event)
   edg_wlc_JobIdGetServerParts(ev->any.jobId, &srvName, &srvPort);
 
   if(use_db) {
-    if (edg_wll_LockJob(ctx,ev->any.jobId)) goto err;
-    if(store_job_server_proxy(ctx, ev, srvName, srvPort))
+    char       *ed;
+    int                code;
 
-      goto err;
+    if (edg_wll_LockJob(ctx,ev->any.jobId)) goto err;
+    store_job_server_proxy(ctx, ev, srvName, srvPort);
+    code = edg_wll_Error(ctx,NULL,&ed);
+    edg_wll_UnlockJob(ctx,ev->any.jobId);      /* XXX: ignore error */
+    if (code) {
+           edg_wll_SetError(ctx,code,ed);
+           free(ed);
+           goto err;
+    }
   }
-  if (edg_wll_UnlockJob(ctx,ev->any.jobId)) goto err;
 
 
   /* events logged to proxy and server (DIRECT flag) may be ignored on proxy