mirror of
https://github.com/systemd/systemd.git
synced 2024-12-13 04:03:35 +08:00
core/dbus-service: empty assignment to PIDFile= resets the value
Follow-up for a9353a5c5b
.
This commit is contained in:
parent
c79d66fc7e
commit
64242fd307
@ -320,32 +320,34 @@ static int bus_service_set_transient_property(
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
n = path_make_absolute(v, u->manager->prefix[EXEC_DIRECTORY_RUNTIME]);
|
||||
if (!n)
|
||||
return -ENOMEM;
|
||||
if (!isempty(v)) {
|
||||
n = path_make_absolute(v, u->manager->prefix[EXEC_DIRECTORY_RUNTIME]);
|
||||
if (!n)
|
||||
return -ENOMEM;
|
||||
|
||||
path_simplify(n, true);
|
||||
path_simplify(n, true);
|
||||
|
||||
if (!path_is_normalized(n))
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "PIDFile= path '%s' is not valid", n);
|
||||
if (!path_is_normalized(n))
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "PIDFile= path '%s' is not valid", n);
|
||||
|
||||
e = path_startswith(n, "/var/run/");
|
||||
if (e) {
|
||||
char *z;
|
||||
e = path_startswith(n, "/var/run/");
|
||||
if (e) {
|
||||
char *z;
|
||||
|
||||
z = strjoin("/run/", e);
|
||||
if (!z)
|
||||
return log_oom();
|
||||
z = strjoin("/run/", e);
|
||||
if (!z)
|
||||
return log_oom();
|
||||
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags))
|
||||
log_unit_notice(u, "Transient unit's PIDFile= property references path below legacy directory /var/run, updating %s → %s; please update client accordingly.", n, z);
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags))
|
||||
log_unit_notice(u, "Transient unit's PIDFile= property references path below legacy directory /var/run, updating %s → %s; please update client accordingly.", n, z);
|
||||
|
||||
free_and_replace(n, z);
|
||||
free_and_replace(n, z);
|
||||
}
|
||||
}
|
||||
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
|
||||
free_and_replace(s->pid_file, n);
|
||||
unit_write_settingf(u, flags, name, "%s=%s", name, s->pid_file);
|
||||
unit_write_settingf(u, flags, name, "%s=%s", name, strempty(s->pid_file));
|
||||
}
|
||||
|
||||
return 1;
|
||||
|
Loading…
Reference in New Issue
Block a user