Skip to content
Snippets Groups Projects
Commit 5b02c6cc authored by Moe Jette's avatar Moe Jette
Browse files

Update build and install instructions in README.

Add COMPLETING node and job states.
parent 8c051d24
No related branches found
No related tags found
No related merge requests found
......@@ -94,18 +94,19 @@ BEGIN_C_DECLS
#define NO_VAL (0xfffffffe)
#define MAX_TASKS_PER_NODE 64
/* last entry must be JOB_END
* NOTE: keep in sync with job_state_string and job_state_string_compact */
/* last entry must be JOB_END, keep in sync with job_state_string and
* job_state_string_compact, if a job is in the process of de-
* allocating nodes, its final state is ORed with JOB_COMPLETING */
enum job_states {
JOB_PENDING, /* queued waiting for initiation */
JOB_RUNNING, /* allocated resources and executing */
JOB_COMPLETING, /* completing execution */
JOB_COMPLETE, /* completed execution successfully */
JOB_FAILED, /* completed execution unsuccessfully */
JOB_TIMEOUT, /* terminated on reaching time limit */
JOB_NODE_FAIL, /* terminated on node failure */
JOB_END /* last entry in table */
};
#define JOB_COMPLETING (0x8000)
/* Possible task distributions across the nodes */
enum task_dist_states {
......
......@@ -292,14 +292,16 @@ char *job_state_string(enum job_states inx)
static char *job_state_string[] = {
"PENDING",
"RUNNING",
"COMPLETING",
"COMPLETED",
"FAILED",
"TIMEOUT",
"NODE_FAIL",
"END"
};
return job_state_string[inx];
if (inx & JOB_COMPLETING)
return "COMPLETING";
else
return job_state_string[inx];
}
char *job_state_string_compact(enum job_states inx)
......@@ -307,13 +309,15 @@ char *job_state_string_compact(enum job_states inx)
static char *job_state_string[] = {
"PD",
"R",
"CG",
"CD",
"F",
"TO",
"END"
};
return job_state_string[inx];
if (inx & JOB_COMPLETING)
return "CG";
else
return job_state_string[inx];
}
char *node_state_string(enum node_states inx)
......
......@@ -183,11 +183,17 @@ static enum job_states xlate_state_name(const char *state_name)
char *state_names;
for (i=0; i<JOB_END; i++) {
if ((strcasecmp(state_name, job_state_string(i)) == 0) ||
(strcasecmp(state_name, job_state_string_compact(i)) == 0)) {
if ((strcasecmp(state_name,job_state_string(i)) == 0) ||
(strcasecmp(state_name,job_state_string_compact(i)) == 0)){
return i;
}
}
if ((strcasecmp(state_name,
job_state_string(JOB_COMPLETING)) == 0) ||
(strcasecmp(state_name,
job_state_string_compact(JOB_COMPLETING)) == 0)) {
return JOB_COMPLETING;
}
fprintf (stderr, "Invalid job state specified: %s", state_name);
state_names = xstrdup(job_state_string(0));
......@@ -195,6 +201,8 @@ static enum job_states xlate_state_name(const char *state_name)
xstrcat(state_names, ",");
xstrcat(state_names, job_state_string(i));
}
xstrcat(state_names, ",");
xstrcat(state_names, job_state_string(JOB_COMPLETING));
fprintf (stderr, "Valid job states include: %s\n", state_names);
xfree (state_names);
exit (1);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment