/* where Z.XX is version from indent + 1 (version after commit), Y = Z+1 */
/* and DESCRIPTION is short hit why version changed */
-#define INTSTAT_VERSION "revision 2.10 - payload owner"
+#define INTSTAT_VERSION "revision 2.11 - payload owner"
// ".... MAX LENGTH 32 BYTES !! ...."
// Internal error codes
/* TBD: share in whole logging or workload */
+
+/* XXX - how come this is not generated from .T when the JobStat structure is? */
+
#ifdef __GNUC__
#define UNUSED_VAR __attribute__((unused))
#else
if (ret) ret = enc_string(ret, stat->pbs_scheduler);
if (ret) ret = enc_string(ret, stat->pbs_dest_host);
if (ret) ret = enc_int(ret, stat->pbs_pid);
- if (ret) ret = enc_string(ret, stat->pbs_resource_usage);
+ if (ret) ret = enc_taglist(ret, stat->pbs_resource_requested);
+ if (ret) ret = enc_taglist(ret, stat->pbs_resource_usage);
if (ret) ret = enc_int(ret, stat->pbs_exit_status);
if (ret) ret = enc_string(ret, stat->pbs_error_desc);
if (ret) ret = enc_string(ret, stat->condor_status);
if (tmp_in != NULL) stat->pbs_scheduler = dec_string(tmp_in, &tmp_in);
if (tmp_in != NULL) stat->pbs_dest_host = dec_string(tmp_in, &tmp_in);
if (tmp_in != NULL) stat->pbs_pid = dec_int(tmp_in, &tmp_in);
- if (tmp_in != NULL) stat->pbs_resource_usage = dec_string(tmp_in, &tmp_in);
+ if (tmp_in != NULL) stat->pbs_resource_requested = dec_taglist(tmp_in, &tmp_in);
+ if (tmp_in != NULL) stat->pbs_resource_usage = dec_taglist(tmp_in, &tmp_in);
if (tmp_in != NULL) stat->pbs_exit_status = dec_int(tmp_in, &tmp_in);
if (tmp_in != NULL) stat->pbs_error_desc = dec_string(tmp_in, &tmp_in);
if (tmp_in != NULL) stat->condor_status = dec_string(tmp_in, &tmp_in);
js->pub.state = EDG_WLL_JOB_DONE;
}
if (USABLE_DATA(res)) {
- char *new_resource_usage;
-
/*trio_asprintf(&new_resource_usage,"%s%s\t%s = %f [%s]",
(js->pub.pbs_resource_usage) ? js->pub.pbs_resource_usage : "",
(js->pub.pbs_resource_usage) ? "\n": "",
e->PBSResourceUsage.quantity,
e->PBSResourceUsage.unit);
*/
- if (js->pub.pbs_resource_usage) free(js->pub.pbs_resource_usage);
- js->pub.pbs_resource_usage = new_resource_usage;
+ if(e->PBSResourceUsage.usage == EDG_WLL_PBSRESOURCEUSAGE_REQUESTED) {
+ if (js->pub.pbs_resource_requested) free(js->pub.pbs_resource_requested);
+ js->pub.pbs_resource_requested = edg_wll_CopyTagList(e->PBSResourceUsage.resources);
+ } else if(e->PBSResourceUsage.usage == EDG_WLL_PBSRESOURCEUSAGE_USED) {
+ if (js->pub.pbs_resource_usage) free(js->pub.pbs_resource_usage);
+ js->pub.pbs_resource_usage = edg_wll_CopyTagList(e->PBSResourceUsage.resources);
+ } else {
+ /* fprintf(stderr, "resource usage %d not recognized\n", e->PBSResourceUsage.usage); */
+ }
}
break;
res = sscanf(a, EDG_WLL_SEQ_PBS_FORMAT_SCANF,
&c[0], &c[1], &c[2], &c[3], &c[4]);
if(res != EDG_WLL_SEQ_PBS_FORMAT_NUMBER) {
- fprintf(stderr, "unparsable sequence code %s\n", a);
+ fprintf(stderr, "unparsable sequence code %s: %d\n", a, res);
return -1;
}
res = sscanf(b, EDG_WLL_SEQ_PBS_FORMAT_SCANF,
&d[0], &d[1], &d[2], &d[3], &d[4]);
if(res != EDG_WLL_SEQ_PBS_FORMAT_NUMBER) {
- fprintf(stderr, "unparsable sequence code %s\n", b);
+ fprintf(stderr, "unparsable sequence code %s: %d\n", b, res);
return -1;
}
char sca[EDG_WLL_SEQ_SIZE], scb[EDG_WLL_SEQ_SIZE];
- if ( (strstr(a,"SMOM=") == a) && (strstr(b,"SMOM=") == b) )
+ if ( (strstr(a,"SMOM=") != NULL) && (strstr(b,"SMOM=") != NULL) )
return edg_wll_compare_pbs_seq(a,b);
if (!strstr(a, "LBS")) snprintf(sca,EDG_WLL_SEQ_SIZE,"%s:LBS=000000",a);