]> SALOME platform Git repositories - modules/kernel.git/commitdiff
Salome HOME
Fix load job with parameter mem_per_cpu (close EDF issue #7925)
authorRenaud Barate <renaud.barate@edf.fr>
Fri, 4 Apr 2014 08:45:30 +0000 (10:45 +0200)
committerRenaud Barate <renaud.barate@edf.fr>
Fri, 4 Apr 2014 12:53:15 +0000 (14:53 +0200)
src/Launcher/Launcher_XML_Persistence.cxx
src/Launcher/Launcher_XML_Persistence.hxx

index 8d1ae64b398ed06f83826ba8961035819450863b..5e7aaaac1554a0ee0ac4085356f54fd1b3be2109 100644 (file)
@@ -323,7 +323,7 @@ XML_Persistence::parseUserNode(Job * new_job, xmlNodePtr user_node)
       }
     }
     else if (node_name == "resource_params")
-      new_job->setResourceRequiredParams(parseResourceNode(current_node));
+      parseResourceNode(new_job, current_node);
     else if (node_name == "maximum_duration")
       new_job->setMaximumDuration(getNodeContent(current_node));
     else if (node_name == "queue")
@@ -371,8 +371,8 @@ XML_Persistence::parseUserNode(Job * new_job, xmlNodePtr user_node)
   if (!job_file_ok) throw LauncherException("missing job file");
 }
 
-resourceParams
-XML_Persistence::parseResourceNode(xmlNodePtr res_node)
+void
+XML_Persistence::parseResourceNode(Job * new_job, xmlNodePtr res_node)
 {
   resourceParams p;
   xmlNodePtr current_node = xmlFirstElementChild(res_node);
@@ -395,11 +395,13 @@ XML_Persistence::parseResourceNode(xmlNodePtr res_node)
       p.cpu_clock = getNumericalNodeContent<long>(current_node);
     else if (node_name == "mem_mb")
       p.mem_mb = getNumericalNodeContent<long>(current_node);
+    else if (node_name == "mem_per_cpu")
+      new_job->setMemPerCpu(getNumericalNodeContent<long>(current_node));
     else
       throw LauncherException(string("invalid node \"") + node_name + "\"");
     current_node = xmlNextElementSibling(current_node);
   }
-  return p;
+  new_job->setResourceRequiredParams(p);
 }
 
 void
index 133a21bb4c02796d96967b7fdb46bb04b63dcb17..ab6df5dbe5241ba7173e40f9100c6a3cf08ceee1 100644 (file)
@@ -56,7 +56,7 @@ namespace Launcher
     static Job * createJobFromXmlNode(xmlNodePtr job_node);
     static void parseUserNode(Job * new_job, xmlNodePtr user_node);
     static void parseRunNode(Job * new_job, xmlNodePtr run_node);
-    static resourceParams parseResourceNode(xmlNodePtr res_node);
+    static void parseResourceNode(Job * new_job, xmlNodePtr res_node);
 
 
     // Useful wrappers around libxml2 functions