summaryrefslogtreecommitdiff
path: root/src/core
AgeCommit message (Collapse)Author
2014-02-07core: allow PIDs to be watched by two units at the same timeLennart Poettering
In some cases it is interesting to map a PID to two units at the same time. For example, when a user logs in via a getty, which is reexeced to /sbin/login that binary will be explicitly referenced as main pid of the getty service, as well as implicitly referenced as part of the session scope.
2014-02-07core: don't send duplicate SIGCONT when killing unitsLennart Poettering
2014-02-07core: watch SIGCHLD more closely to track processes of units with no ↵Lennart Poettering
reliable cgroup empty notifier When a process dies that we can associate with a specific unit, start watching all other processes of that unit, so that we can associate those processes with the unit too. Also, for service units start doing this as soon as we get the first SIGCHLD for either control or main process, so that we can follow the processes of the service from one to the other, as long as process that remain are processes of the ones we watched that died and got reassigned to us as parent. Similar, for scope units start doing this as soon as the scope controller abandons the unit, and thus management entirely reverts to systemd. To abandon a unit introduce a new Abandon() scope unit method call.
2014-02-07core: fix warningThomas Hindoe Paaboel Andersen
introduced in c7040b5d1c2c148f12b6a5eef3dfce1661805131
2014-02-06transaction: print more information about conflicting jobsZbigniew Jędrzejewski-Szmek
Also remove some debug statement that should not have been committed.
2014-02-06core: only send SIGHUP when doing first kill, not when doing final sigkillLennart Poettering
2014-02-05core: don't wait for non-control/non-main processes when killing processes ↵Lennart Poettering
on the host either Since the current kernel cgroup notification logic is easily confused by existing subgroups, let's do the same thing as in containers before. and just not wait for non-control and non-main processes. This should be corrected as soon as we have sane cgroup notifications from the kernel.
2014-02-05kill: fix error returnLennart Poettering
2014-02-05core: allow User=, Group=, Nice=, Environment=, Type= to be passed when ↵Lennart Poettering
creating a transient service
2014-02-03conf-parser: warn when we open configuration files with weird access bitsLennart Poettering
2014-02-01bus: update kdbus.h (ABI break)Kay Sievers
2014-01-31core: fix oom checkLennart Poettering
2014-01-31core: introduce new stop protocol for unit scopesLennart Poettering
By specifiy a Controller property when creating the scope a client can specify a bus name that will be notified with a RequestStop bus signal when the scope has been asked to shut down, instead of sending SIGTERM to the scope processes themselves. https://bugzilla.redhat.com/show_bug.cgi?id=1032695
2014-01-29core: in containers, don't wait for cgroup empty notifications which will ↵Lennart Poettering
never come
2014-01-29core: use a bit more PID_FMTLennart Poettering
2014-01-29core: make sure to always go through both SIGTERM and SIGKILL states of unitsLennart Poettering
Given that we now have KillMode=mixed where SIGTERM might kill a smaller set than SIGKILL we need to make sure to always go explicitly throught the SIGKILL state to get the right end result.
2014-01-29service: allow KillMode=mixed in conjunction with PAMName=Lennart Poettering
2014-01-29core: introduce new KillMode=mixed which sends SIGTERM only to the main ↵Lennart Poettering
process, but SIGKILL to all daemon processes This should fix some race with terminating systemd --user, where the system systemd instance might race against the user systemd instance when sending SIGTERM.
2014-01-28manager: remove "debugging" "feature"Zbigniew Jędrzejewski-Szmek
2014-01-28manager: requeue the cylon eye for 5s later when a job finishesZbigniew Jędrzejewski-Szmek
We'd reqeue the next status update very soon after. Change it so that we wait for full 5s without any job status changes until we print anything.
2014-01-28manager: print ephemeral information about running jobs' timeouts (v2)Zbigniew Jędrzejewski-Szmek
This reverts commit 28c758de94bc8ba97b89d9dab3f517cf466978d0 but makes job_coldplug smarter. In (v1) I changed the job start timestamp to be always set, so the start time can be reported in the cylon eye message. The bug was that when deserializing jobs, they would be ignored if their start timestamp was unset which was synonymous with no timeout. But after the change, jobs would have a start timestamp set despite having no timeout. After deserialization they would be considered immediately expired. Fix this by checking if the timeout is not zero when considering jobs for expiration.
2014-01-28Revert "manager: print ephemeral information about running jobs' timeouts"Kay Sievers
This reverts commit 2cba2e03524ec0922ddc70f933e8a89b7d23b4ec. It breaks bootup with dracut, the transition to the real rootfs fails.
2014-01-27manager: also turn on output on unit failureZbigniew Jędrzejewski-Szmek
2014-01-27manager: add systemd.show_status=auto modeZbigniew Jędrzejewski-Szmek
When set to auto, status will shown when the first ephemeral message is shown (a job has been running for five seconds). Then until the boot or shutdown ends, status messages will be shown. No indication about the switch is done: I think it should be clear for the user that first the cylon eye and the ephemeral messages appear, and afterwards messages are displayed. The initial arming of the event source was still wrong, but now should really be fixed.
2014-01-27Replace mkostemp+unlink with open(O_TMPFILE)Zbigniew Jędrzejewski-Szmek
This will only work on Linux >= 3.11, and probably not on all filesystems. Fallback code is provided.
2014-01-27bus: when we cannot bus activate a service because we go down, drop oneLennart Poettering
message from the queue
2014-01-27core: require mounts for the root and working directoriesZbigniew Jędrzejewski-Szmek
We know that launching a unit will fail if some required directories haven't been mounted yet. There's no point in starting it just to have it fail even before it gets a chance to run.
2014-01-27core: simplify check for path absolutenessZbigniew Jędrzejewski-Szmek
Just a microopt.
2014-01-27manager: rearm jobs timerZbigniew Jędrzejewski-Szmek
It would fire just once. Also fix units from sec to usec as appropriate. Decrease the switching interval to 1/3 s, so that when the time remaining is displayed with 1s precision, it doesn't jump by 2s every once in a while. Also, the system is feels noticably faster when the status changes couple of times per second instead of every few seconds.
2014-01-27manager: print ephemeral information about running jobs' timeoutsZbigniew Jędrzejewski-Szmek
Produces output like: [ *** ] (1 of 2) A start job is running for slow.service (33s / 1min 30s) The first nubmer is the time since job start, the second is the job timeout.
2014-01-27core: add function to tell when job will time outZbigniew Jędrzejewski-Szmek
Things will continue when either the job timeout or the unit timeout is reached. Add functionality to access that info.
2014-01-22sd-rtnl: simplify sd_rtnl_message_addr_new()Tom Gundersen
Split out into sd_rtnl_message_addr_set_{prefixlen,flags,scope}().
2014-01-22sd-rtnl: link - allow setting the change maskTom Gundersen
2014-01-20exec: introduce PrivateDevices= switch to provide services with a private /devLennart Poettering
Similar to PrivateNetwork=, PrivateTmp= introduce PrivateDevices= that sets up a private /dev with only the API pseudo-devices like /dev/null, /dev/zero, /dev/random, but not any physical devices in them.
2014-01-12core: don't allow setting NOTIFY_SOCKET and similar env vars we need ↵Lennart Poettering
ourselves via SetEnvironment bus calls We just quietly eat them up, so that simple environment importing still works without error.
2014-01-12core: clean up environment block for --user instances a bitLennart Poettering
2014-01-11make socket_instantiate_service use cleanup gcc attributeMichael Scherer
2014-01-11core: fix unused variableZbigniew Jędrzejewski-Szmek
2014-01-09core: fix lack of notifications after reloadZbigniew Jędrzejewski-Szmek
2014-01-08Improve messages about user mode a bitZbigniew Jędrzejewski-Szmek
2014-01-07mount: don't creat local-fs.target links for mount units when runnin in user ↵Lennart Poettering
mode
2014-01-07core: do not add implicit dbus.socket dependencyKay Sievers
Sockets are ordered before sockets.target anyway, and sockets.target is ordered before basic.target, and hence all bus services end up being ordered after dbus.socket anyway. Since for kdbus clients dbus.socket is obsolete, let's not add this dependency explicitly. Also, it's hot in Australia and we are going for breakfast now.
2014-01-07core: --user -- add basic.target an sort against it like --system doesKay Sievers
2014-01-07core: --user -- move generator directories from /tmp to $XDG_RUNTIME_DIRKay Sievers
2014-01-05Remove unused variablesZbigniew Jędrzejewski-Szmek
2014-01-05strv: multiple cleanupsSimon Peeters
- turn strv_merge into strv_extend_strv. appending strv b to the end of strv a instead of creating a new strv - strv_append: remove in favor of strv_extend and strv_push. - strv_remove: write slightly more elegant - strv_remove_prefix: remove unused function - strv_overlap: use strv_contains - strv_printf: STRV_FOREACH handles NULL correctly
2014-01-05shared: procfs_file_alloca: handle pid==0Simon Peeters
when pid is set to 0 use /proc/self
2014-01-05swap: remove if/else with the same data pathStefan Beller
This was introduced in e1770af812 (2012-02-03, swap: replace failure boolean by result enum). This just removes unneeded lines of code, no functional change.
2014-01-03bus: always create --user bus when kdbus is activeKay Sievers
We set the variable in the unit file for --user, so this check is always true.
2014-01-02core: fix gcc unused variable warningZbigniew Jędrzejewski-Szmek