chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
execute: if the main process of a service already owns the TTY, don't wait for acquir...
[elogind.git]
/
src
/
service.c
diff --git
a/src/service.c
b/src/service.c
index 75439be376a5bcaf461f70eb853014ef6bd4afee..2ca0c17ec221d096f4b1a618707901f6e4669396 100644
(file)
--- a/
src/service.c
+++ b/
src/service.c
@@
-1323,6
+1323,7
@@
static int service_spawn(
bool pass_fds,
bool apply_permissions,
bool apply_chroot,
bool pass_fds,
bool apply_permissions,
bool apply_chroot,
+ bool apply_tty_stdin,
bool set_notify_socket,
pid_t *_pid) {
bool set_notify_socket,
pid_t *_pid) {
@@
-1395,6
+1396,7
@@
static int service_spawn(
final_env,
apply_permissions,
apply_chroot,
final_env,
apply_permissions,
apply_chroot,
+ apply_tty_stdin,
s->meta.manager->confirm_spawn,
s->meta.cgroup_bondings,
&pid);
s->meta.manager->confirm_spawn,
s->meta.cgroup_bondings,
&pid);
@@
-1505,6
+1507,7
@@
static void service_enter_stop_post(Service *s, bool success) {
false,
!s->permissions_start_only,
!s->root_directory_start_only,
false,
!s->permissions_start_only,
!s->root_directory_start_only,
+ true,
false,
&s->control_pid)) < 0)
goto fail;
false,
&s->control_pid)) < 0)
goto fail;
@@
-1605,6
+1608,7
@@
static void service_enter_stop(Service *s, bool success) {
!s->permissions_start_only,
!s->root_directory_start_only,
false,
!s->permissions_start_only,
!s->root_directory_start_only,
false,
+ false,
&s->control_pid)) < 0)
goto fail;
&s->control_pid)) < 0)
goto fail;
@@
-1653,6
+1657,7
@@
static void service_enter_start_post(Service *s) {
!s->permissions_start_only,
!s->root_directory_start_only,
false,
!s->permissions_start_only,
!s->root_directory_start_only,
false,
+ false,
&s->control_pid)) < 0)
goto fail;
&s->control_pid)) < 0)
goto fail;
@@
-1687,6
+1692,7
@@
static void service_enter_start(Service *s) {
true,
true,
true,
true,
true,
true,
+ true,
s->notify_access != NOTIFY_NONE,
&pid)) < 0)
goto fail;
s->notify_access != NOTIFY_NONE,
&pid)) < 0)
goto fail;
@@
-1747,6
+1753,7
@@
static void service_enter_start_pre(Service *s) {
false,
!s->permissions_start_only,
!s->root_directory_start_only,
false,
!s->permissions_start_only,
!s->root_directory_start_only,
+ true,
false,
&s->control_pid)) < 0)
goto fail;
false,
&s->control_pid)) < 0)
goto fail;
@@
-1800,6
+1807,7
@@
static void service_enter_reload(Service *s) {
!s->permissions_start_only,
!s->root_directory_start_only,
false,
!s->permissions_start_only,
!s->root_directory_start_only,
false,
+ false,
&s->control_pid)) < 0)
goto fail;
&s->control_pid)) < 0)
goto fail;
@@
-1835,6
+1843,7
@@
static void service_run_next(Service *s, bool success) {
!s->permissions_start_only,
!s->root_directory_start_only,
false,
!s->permissions_start_only,
!s->root_directory_start_only,
false,
+ false,
&s->control_pid)) < 0)
goto fail;
&s->control_pid)) < 0)
goto fail;