| 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 : |