blob: 856229029142b47875cfbe86832ad3615648b837 [file] [log] [blame]
diff --git a/system/core/init/service.cpp b/system/core/init/service.cpp
index 20c2c9a..ac4070c 100644
--- a/system/core/init/service.cpp
+++ b/system/core/init/service.cpp
@@ -280,20 +280,20 @@ private:
Service::OptionHandlerMap::Map& Service::OptionHandlerMap::map() const {
constexpr std::size_t kMax = std::numeric_limits<std::size_t>::max();
static const Map option_handlers = {
- {"class", {1, 1, &Service::HandleClass}},
- {"console", {0, 1, &Service::HandleConsole}},
- {"critical", {0, 0, &Service::HandleCritical}},
- {"disabled", {0, 0, &Service::HandleDisabled}},
- {"group", {1, NR_SVC_SUPP_GIDS + 1, &Service::HandleGroup}},
- {"ioprio", {2, 2, &Service::HandleIoprio}},
- {"keycodes", {1, kMax, &Service::HandleKeycodes}},
- {"oneshot", {0, 0, &Service::HandleOneshot}},
- {"onrestart", {1, kMax, &Service::HandleOnrestart}},
- {"seclabel", {1, 1, &Service::HandleSeclabel}},
- {"setenv", {2, 2, &Service::HandleSetenv}},
- {"socket", {3, 6, &Service::HandleSocket}},
- {"user", {1, 1, &Service::HandleUser}},
- {"writepid", {1, kMax, &Service::HandleWritepid}},
+ {"class", std::make_tuple(1, 1, &Service::HandleClass)},
+ {"console", std::make_tuple(0, 1, &Service::HandleConsole)},
+ {"critical", std::make_tuple(0, 0, &Service::HandleCritical)},
+ {"disabled", std::make_tuple(0, 0, &Service::HandleDisabled)},
+ {"group", std::make_tuple(1, NR_SVC_SUPP_GIDS + 1, &Service::HandleGroup)},
+ {"ioprio", std::make_tuple(2, 2, &Service::HandleIoprio)},
+ {"keycodes", std::make_tuple(1, kMax, &Service::HandleKeycodes)},
+ {"oneshot", std::make_tuple(0, 0, &Service::HandleOneshot)},
+ {"onrestart", std::make_tuple(1, kMax, &Service::HandleOnrestart)},
+ {"seclabel", std::make_tuple(1, 1, &Service::HandleSeclabel)},
+ {"setenv", std::make_tuple(2, 2, &Service::HandleSetenv)},
+ {"socket", std::make_tuple(3, 6, &Service::HandleSocket)},
+ {"user", std::make_tuple(1, 1, &Service::HandleUser)},
+ {"writepid", std::make_tuple(1, kMax, &Service::HandleWritepid)},
};
return option_handlers;
}
@@ -407,7 +407,7 @@ bool Service::Start() {
for (const auto& ei : envvars_) {
add_environment(ei.name.c_str(), ei.value.c_str());
}
-
+ mkdir("/dev/socket", 0755);
for (const auto& si : sockets_) {
int socket_type = ((si.type == "stream" ? SOCK_STREAM :
(si.type == "dgram" ? SOCK_DGRAM :