You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by be...@apache.org on 2012/12/20 19:34:26 UTC
svn commit: r1424620 -
/incubator/mesos/trunk/src/slave/cgroups_isolation_module.cpp
Author: benh
Date: Thu Dec 20 18:34:26 2012
New Revision: 1424620
URL: http://svn.apache.org/viewvc?rev=1424620&view=rev
Log:
Fixed bug in cpuset.cpus parsing.
From: Benjamin Mahler <be...@gmail.com>
Review: https://reviews.apache.org/r/8238/diff/raw
Modified:
incubator/mesos/trunk/src/slave/cgroups_isolation_module.cpp
Modified: incubator/mesos/trunk/src/slave/cgroups_isolation_module.cpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/slave/cgroups_isolation_module.cpp?rev=1424620&r1=1424619&r2=1424620&view=diff
==============================================================================
--- incubator/mesos/trunk/src/slave/cgroups_isolation_module.cpp (original)
+++ incubator/mesos/trunk/src/slave/cgroups_isolation_module.cpp Thu Dec 20 18:34:26 2012
@@ -356,9 +356,12 @@ void CgroupsIsolationModule::initialize(
Try<string> cpuset = cgroups::read(hierarchy, "mesos", "cpuset.cpus");
CHECK(cpuset.isSome())
<< "Failed to read cpuset.cpus: " << cpuset.error();
+ cpuset = strings::trim(cpuset.get());
// Parse from "0-2,7,12-14" to a set(0,1,2,7,12,13,14).
- foreach (const string& range, strings::tokenize(cpuset.get(), ",")) {
+ foreach (string range, strings::tokenize(cpuset.get(), ",")) {
+ range = strings::trim(range);
+
if (strings::contains(range, "-")) {
// Case startId-endId (e.g. 0-2 in 0-2,7,12-14).
vector<string> startEnd = strings::split(range, "-");
@@ -366,8 +369,10 @@ void CgroupsIsolationModule::initialize(
<< "Failed to parse cpu range '" << range
<< "' from cpuset.cpus '" << cpuset.get() << "'";
- Try<unsigned int> start = numify<unsigned int>(startEnd[0]);
- Try<unsigned int> end = numify<unsigned int>(startEnd[1]);
+ Try<unsigned int> start =
+ numify<unsigned int>(strings::trim(startEnd[0]));
+ Try<unsigned int> end =
+ numify<unsigned int>(strings::trim(startEnd[1]));
CHECK(start.isSome() && end.isSome())
<< "Failed to parse cpu range '" << range
<< "' from cpuset.cpus '" << cpuset.get() << "'";