chiark / gitweb /
core: add new .slice unit type for partitioning systems
[elogind.git] / src / core / service.c
index 20990d2a19bfcd97e0c8dc7f5bfdf612c33f84e7..ac8cdb2c31622a74d1063389b3069f4a8c527ad0 100644 (file)
@@ -1225,6 +1225,10 @@ static int service_load(Unit *u) {
                 if (r < 0)
                         return r;
 
+                r = unit_add_default_slice(u);
+                if (r < 0)
+                        return r;
+
                 r = unit_add_default_cgroups(u);
                 if (r < 0)
                         return r;
@@ -1865,7 +1869,7 @@ static int main_pid_good(Service *s) {
 
                 /* If it's an alien child let's check if it is still
                  * alive ... */
-                if (s->main_pid_alien)
+                if (s->main_pid_alien && s->main_pid > 0)
                         return kill(s->main_pid, 0) >= 0 || errno != ESRCH;
 
                 /* .. otherwise assume we'll get a SIGCHLD for it,