mirror of
https://github.com/systemd/systemd-stable.git
synced 2024-12-23 17:34:00 +03:00
Merge pull request #8408 from keszybz/ln-relative
bugs.fd.o bug archelogy
This commit is contained in:
commit
bcabcde5d2
@ -692,6 +692,42 @@
|
||||
that are shown are additionally filtered by <option>--type=</option> and <option>--state=</option> if those
|
||||
options are specified.</para>
|
||||
|
||||
<para>Produces output similar to
|
||||
<programlisting> UNIT LOAD ACTIVE SUB DESCRIPTION
|
||||
sys-module-fuse.device loaded active plugged /sys/module/fuse
|
||||
-.mount loaded active mounted Root Mount
|
||||
boot-efi.mount loaded active mounted /boot/efi
|
||||
systemd-journald.service loaded active running Journal Service
|
||||
systemd-logind.service loaded active running Login Service
|
||||
● user@1000.service loaded active running User Manager for UID 1000
|
||||
...
|
||||
systemd-tmpfiles-clean.timer loaded active waiting Daily Cleanup of Temporary Directories
|
||||
|
||||
LOAD = Reflects whether the unit definition was properly loaded.
|
||||
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
|
||||
SUB = The low-level unit activation state, values depend on unit type.
|
||||
|
||||
123 loaded units listed. Pass --all to see loaded but inactive units, too.
|
||||
To show all installed unit files use 'systemctl list-unit-files'.
|
||||
</programlisting>
|
||||
The header and the last unit of a given type are underlined if the
|
||||
terminal supports that. A colored dot is shown next to services which
|
||||
were masked, not found, or otherwise failed.</para>
|
||||
|
||||
<para>The LOAD column shows the load state, one of
|
||||
<constant>loaded</constant>, <constant>not-found</constant>,
|
||||
<constant>stub</constant>, <constant>error</constant>,
|
||||
<constant>merged</constant>, <constant>masked</constant>. The ACTIVE
|
||||
columns shows the general unit state, one of <constant>active</constant>,
|
||||
<constant>reloading</constant>, <constant>inactive</constant>,
|
||||
<constant>failed</constant>, <constant>activating</constant>,
|
||||
<constant>deactivating</constant>. The SUB column shows the
|
||||
unit-type-specific detailed state of the unit, possible values vary by
|
||||
unit type. The list of possible LOAD, ACTIVE, and SUB states is not
|
||||
constant and new systemd releases may both add and remove values.
|
||||
<programlisting>systemctl --state=help</programlisting> command maybe be
|
||||
used to display the current set of possible values.</para>
|
||||
|
||||
<para>This is the default command.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -590,7 +590,7 @@ endforeach
|
||||
conf.set_quoted('TELINIT', get_option('telinit-path'))
|
||||
|
||||
if run_command('ln', '--relative', '--help').returncode() != 0
|
||||
error('ln does not support --relative')
|
||||
error('ln does not support --relative (added in coreutils 8.16)')
|
||||
endif
|
||||
|
||||
############################################################
|
||||
|
@ -426,6 +426,8 @@ static int enable_special_signals(Manager *m) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define RTSIG_IF_AVAILABLE(signum) (signum <= SIGRTMAX ? signum : -1)
|
||||
|
||||
static int manager_setup_signals(Manager *m) {
|
||||
struct sigaction sa = {
|
||||
.sa_handler = SIG_DFL,
|
||||
@ -479,22 +481,22 @@ static int manager_setup_signals(Manager *m) {
|
||||
|
||||
/* .. one free signal here ... */
|
||||
|
||||
#if !defined(__hppa64__) && !defined(__hppa__)
|
||||
/* Apparently Linux on hppa has fewer RT
|
||||
* signals (SIGRTMAX is SIGRTMIN+25 there),
|
||||
* hence let's not try to make use of them
|
||||
* here. Since these commands are accessible
|
||||
* by different means and only really a safety
|
||||
* net, the missing functionality on hppa
|
||||
* shouldn't matter. */
|
||||
/* Apparently Linux on hppa had fewer RT signals until v3.18,
|
||||
* SIGRTMAX was SIGRTMIN+25, and then SIGRTMIN was lowered,
|
||||
* see commit v3.17-7614-g1f25df2eff.
|
||||
*
|
||||
* We cannot unconditionally make use of those signals here,
|
||||
* so let's use a runtime check. Since these commands are
|
||||
* accessible by different means and only really a safety
|
||||
* net, the missing functionality on hppa shouldn't matter.
|
||||
*/
|
||||
|
||||
SIGRTMIN+26, /* systemd: set log target to journal-or-kmsg */
|
||||
SIGRTMIN+27, /* systemd: set log target to console */
|
||||
SIGRTMIN+28, /* systemd: set log target to kmsg */
|
||||
SIGRTMIN+29, /* systemd: set log target to syslog-or-kmsg (obsolete) */
|
||||
RTSIG_IF_AVAILABLE(SIGRTMIN+26), /* systemd: set log target to journal-or-kmsg */
|
||||
RTSIG_IF_AVAILABLE(SIGRTMIN+27), /* systemd: set log target to console */
|
||||
RTSIG_IF_AVAILABLE(SIGRTMIN+28), /* systemd: set log target to kmsg */
|
||||
RTSIG_IF_AVAILABLE(SIGRTMIN+29), /* systemd: set log target to syslog-or-kmsg (obsolete) */
|
||||
|
||||
/* ... one free signal here SIGRTMIN+30 ... */
|
||||
#endif
|
||||
-1);
|
||||
assert_se(sigprocmask(SIG_SETMASK, &mask, NULL) == 0);
|
||||
|
||||
|
@ -21,10 +21,21 @@
|
||||
#include <signal.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "log.h"
|
||||
#include "macro.h"
|
||||
#include "signal-util.h"
|
||||
#include "process-util.h"
|
||||
|
||||
#define info(sig) log_info(#sig " = " STRINGIFY(sig) " = %d", sig)
|
||||
|
||||
static void test_rt_signals(void) {
|
||||
info(SIGRTMIN);
|
||||
info(SIGRTMAX);
|
||||
|
||||
/* We use signals SIGRTMIN+0 to SIGRTMIN+24 unconditionally */
|
||||
assert(SIGRTMAX - SIGRTMIN >= 24);
|
||||
}
|
||||
|
||||
static void test_block_signals(void) {
|
||||
sigset_t ss;
|
||||
|
||||
@ -62,6 +73,7 @@ static void test_ignore_signals(void) {
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
test_rt_signals();
|
||||
test_block_signals();
|
||||
test_ignore_signals();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user