controllers: verify that resource application went ok or not

Signed-off-by: Levente Kurusa <lkurusa@acm.org>
This commit is contained in:
Levente Kurusa
2018-09-14 15:59:29 +02:00
parent af12452fca
commit 0e350463a1
15 changed files with 98 additions and 24 deletions
+10 -1
View File
@@ -38,14 +38,23 @@ impl Controller for PidController {
fn get_path_mut<'a>(self: &'a mut Self) -> &'a mut PathBuf { &mut self.path }
fn get_base<'a>(self: &'a Self) -> &'a PathBuf { &self.base }
fn apply(self: &Self, res: &Resources) {
fn apply(self: &Self, res: &Resources) -> Result<(), CgroupError> {
/* get the resources that apply to this controller */
let pidres: &PidResources = &res.pid;
if pidres.update_values {
/* apply pid_max */
let _ = self.set_pid_max(pidres.maximum_number_of_processes);
/* now, verify */
if self.get_pid_max() == Ok(pidres.maximum_number_of_processes) {
return Ok(());
} else {
return Err(CgroupError::Unknown);
}
}
Ok(())
}
}