diff options
| -rw-r--r-- | libmodprobe/include/modprobe/modprobe.h | 2 | ||||
| -rw-r--r-- | libmodprobe/libmodprobe.cpp | 8 |
2 files changed, 6 insertions, 4 deletions
diff --git a/libmodprobe/include/modprobe/modprobe.h b/libmodprobe/include/modprobe/modprobe.h index 421d826442..333fc55068 100644 --- a/libmodprobe/include/modprobe/modprobe.h +++ b/libmodprobe/include/modprobe/modprobe.h @@ -26,7 +26,7 @@ class Modprobe { public: Modprobe(const std::vector<std::string>&); - bool LoadListedModules(); + bool LoadListedModules(bool strict = true); bool LoadWithAliases(const std::string& module_name, bool strict, const std::string& parameters = ""); bool Remove(const std::string& module_name); diff --git a/libmodprobe/libmodprobe.cpp b/libmodprobe/libmodprobe.cpp index 3c78ec999c..6b9107fd54 100644 --- a/libmodprobe/libmodprobe.cpp +++ b/libmodprobe/libmodprobe.cpp @@ -360,13 +360,15 @@ bool Modprobe::LoadWithAliases(const std::string& module_name, bool strict, return true; } -bool Modprobe::LoadListedModules() { +bool Modprobe::LoadListedModules(bool strict) { + auto ret = true; for (const auto& module : module_load_) { if (!LoadWithAliases(module, true)) { - return false; + ret = false; + if (strict) break; } } - return true; + return ret; } bool Modprobe::Remove(const std::string& module_name) { |
