From ec81498123a6b9e61d70f7c4a09e77bd2b256579 Mon Sep 17 00:00:00 2001
From: Moe Jette <jette1@llnl.gov>
Date: Thu, 10 Jun 2010 21:29:38 +0000
Subject: [PATCH] slight tweak to working of email on job start/end

---
 src/slurmctld/agent.c | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

diff --git a/src/slurmctld/agent.c b/src/slurmctld/agent.c
index 92eae185b6a..d2edb76bd5b 100644
--- a/src/slurmctld/agent.c
+++ b/src/slurmctld/agent.c
@@ -1467,21 +1467,25 @@ static char *_mail_type_str(uint16_t mail_type)
 static void _set_job_time(struct job_record *job_ptr, uint16_t mail_type,
 			  char *buf, int buf_len)
 {
-	time_t delay = NO_VAL;
+	time_t interval = NO_VAL;
 
+	buf[0] = '\0';
 	if ((mail_type == MAIL_JOB_BEGIN) && job_ptr->start_time &&
 	    job_ptr->details && job_ptr->details->submit_time) {
-		delay = job_ptr->start_time - job_ptr->details->submit_time;
+		interval = job_ptr->start_time - job_ptr->details->submit_time;
+		snprintf(buf, buf_len, ", Queued time ");
+		secs2time_str(interval, buf+14, buf_len-14);
 	}
+
 	if (((mail_type == MAIL_JOB_END) || (mail_type == MAIL_JOB_FAIL)) &&
 	    job_ptr->start_time && job_ptr->end_time) {
-		delay = job_ptr->end_time - job_ptr->start_time;
-	}
-	if (delay != NO_VAL) {
-		snprintf(buf, buf_len, " After ");
-		secs2time_str(delay, buf+7, buf_len-7);
-	} else if (buf_len) {
-		buf[0] = '\0';
+		if (job_ptr->suspend_time) {
+			interval  = job_ptr->end_time - job_ptr->suspend_time;
+			interval += job_ptr->pre_sus_time;
+		} else
+			interval = job_ptr->end_time - job_ptr->start_time;
+		snprintf(buf, buf_len, ", Run time ");
+		secs2time_str(interval, buf+11, buf_len-11);
 	}
 }
 
-- 
GitLab