chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
3943908
)
service: make sure to pass TERM=linux to all sysv scripts
author
Lennart Poettering
<lennart@poettering.net>
Tue, 26 Oct 2010 00:32:42 +0000
(
02:32
+0200)
committer
Lennart Poettering
<lennart@poettering.net>
Tue, 26 Oct 2010 00:32:42 +0000
(
02:32
+0200)
src/service.c
patch
|
blob
|
history
diff --git
a/src/service.c
b/src/service.c
index 7a522bf3f47d865dde181fa2a33d16f014f5edb5..dac4adaa6a0efc2cfb1c18fa38349517da97870e 100644
(file)
--- a/
src/service.c
+++ b/
src/service.c
@@
-1568,7
+1568,7
@@
static int service_spawn(
goto fail;
}
- if (!(our_env = new0(char*,
3
))) {
+ if (!(our_env = new0(char*,
4
))) {
r = -ENOMEM;
goto fail;
}
@@
-1585,6
+1585,14
@@
static int service_spawn(
goto fail;
}
+ /* Make sure we set TERM=linux for SysV scripts, since some
+ * require it to be set from the kernel */
+ if (s->sysv_path && !strv_env_get(s->meta.manager->environment, "TERM"))
+ if (!(our_env[n_env++] = strdup("TERM=linux"))) {
+ r = -ENOMEM;
+ goto fail;
+ }
+
if (!(final_env = strv_env_merge(2,
s->meta.manager->environment,
our_env,