diff options
author | Lennart Poettering <lennart@poettering.net> | 2012-01-04 15:35:30 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2012-01-04 15:35:30 +0100 |
commit | 94fb446e55babb713fb24850455627acf30d999b (patch) | |
tree | b69d30f7e36ce6b288fb3df5f2d699c83a1f835e | |
parent | e91af489a25e8bb65016a63f533ae28a505119ef (diff) |
journald: store _SYSTEMD_UNIT= instead of _SYSTEMD_SERVICE= field, since processes might also be related to mount, swap or socket units, not just services
-rw-r--r-- | Makefile.am | 4 | ||||
-rw-r--r-- | man/sd_pid_get_session.xml | 27 | ||||
-rw-r--r-- | src/journal/journald.c | 12 | ||||
-rw-r--r-- | src/journal/sd-journal.h | 1 | ||||
-rw-r--r-- | src/login/libsystemd-login.sym | 2 | ||||
-rw-r--r-- | src/login/sd-login.c | 6 | ||||
-rw-r--r-- | src/login/sd-login.h | 6 | ||||
-rw-r--r-- | src/logs-show.c | 2 |
8 files changed, 30 insertions, 30 deletions
diff --git a/Makefile.am b/Makefile.am index 6c0fd055d0..21cac4e56f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1912,7 +1912,7 @@ MANPAGES_ALIAS += \ man/sd_session_get_uid.3 \ man/sd_session_get_seat.3 \ man/sd_pid_get_owner_uid.3 \ - man/sd_pid_get_service.3 \ + man/sd_pid_get_unit.3 \ man/sd_uid_is_on_seat.3 \ man/sd_uid_get_sessions.3 \ man/sd_uid_get_seats.3 \ @@ -1927,7 +1927,7 @@ man/sd_login_monitor_get_fd.3: man/sd_login_monitor_new.3 man/sd_session_get_uid.3: man/sd_session_is_active.3 man/sd_session_get_seat.3: man/sd_session_is_active.3 man/sd_pid_get_owner_uid.3: man/sd_pid_get_session.3 -man/sd_pid_get_service.3: man/sd_pid_get_session.3 +man/sd_pid_get_unit.3: man/sd_pid_get_session.3 man/sd_uid_is_on_seat.3: man/sd_uid_get_state.3 man/sd_uid_get_sessions.3: man/sd_uid_get_state.3 man/sd_uid_get_seats.3: man/sd_uid_get_state.3 diff --git a/man/sd_pid_get_session.xml b/man/sd_pid_get_session.xml index 4086c5a826..bd95804628 100644 --- a/man/sd_pid_get_session.xml +++ b/man/sd_pid_get_session.xml @@ -44,7 +44,7 @@ <refnamediv> <refname>sd_pid_get_session</refname> - <refname>sd_pid_get_service</refname> + <refname>sd_pid_get_unit</refname> <refname>sd_pid_get_owner_uid</refname> <refpurpose>Determine session, service or owner of a session of a specific PID</refpurpose> </refnamediv> @@ -60,9 +60,9 @@ </funcprototype> <funcprototype> - <funcdef>int <function>sd_pid_get_service</function></funcdef> + <funcdef>int <function>sd_pid_get_unit</function></funcdef> <paramdef>pid_t <parameter>pid</parameter></paramdef> - <paramdef>char** <parameter>service</parameter></paramdef> + <paramdef>char** <parameter>unit</parameter></paramdef> </funcprototype> <funcprototype> @@ -90,15 +90,16 @@ <citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry> call after use.</para> - <para><function>sd_pid_get_service()</function> may be - used to determine the system service identifier of a - process identified by the specified process - identifier. The service name is a short string, - suitable for usage in file system paths. Note that not - all processes are part of a service (e.g. user - processes, or kernel threads). For processes not being - part of a system service this function will fail. The - returned string needs to be freed with the libc + <para><function>sd_pid_get_unit()</function> may be + used to determine the systemd unit (i.e. system + service) identifier of a process identified by the + specified process identifier. The unit name is a short + string, suitable for usage in file system paths. Note + that not all processes are part of a unit/service + (e.g. user processes, or kernel threads). For + processes not being part of a systemd unit/system + service this function will fail. The returned string + needs to be freed with the libc <citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry> call after use.</para> @@ -126,7 +127,7 @@ <title>Notes</title> <para>The <function>sd_pid_get_session()</function>, - <function>sd_pid_get_service()</function>, and + <function>sd_pid_get_pid()</function>, and <function>sd_pid_get_owner_uid()</function> interfaces are available as shared library, which can be compiled and linked to with the diff --git a/src/journal/journald.c b/src/journal/journald.c index 47fe6edb0c..b029ab9781 100644 --- a/src/journal/journald.c +++ b/src/journal/journald.c @@ -431,7 +431,7 @@ static void dispatch_message_real(Server *s, *comm = NULL, *cmdline = NULL, *hostname = NULL, *audit_session = NULL, *audit_loginuid = NULL, *exe = NULL, *cgroup = NULL, *session = NULL, - *owner_uid = NULL, *service = NULL; + *owner_uid = NULL, *unit = NULL; char idbuf[33]; sd_id128_t id; @@ -515,12 +515,12 @@ static void dispatch_message_real(Server *s, IOVEC_SET_STRING(iovec[n++], session); } - if (sd_pid_get_service(ucred->pid, &t) >= 0) { - service = strappend("_SYSTEMD_SERVICE=", t); + if (sd_pid_get_unit(ucred->pid, &t) >= 0) { + unit = strappend("_SYSTEMD_UNIT=", t); free(t); - if (service) - IOVEC_SET_STRING(iovec[n++], service); + if (unit) + IOVEC_SET_STRING(iovec[n++], unit); } if (sd_pid_get_owner_uid(ucred->uid, &owner) >= 0) @@ -596,7 +596,7 @@ retry: free(cgroup); free(session); free(owner_uid); - free(service); + free(unit); } static void dispatch_message(Server *s, diff --git a/src/journal/sd-journal.h b/src/journal/sd-journal.h index d7e2528a35..87da17ddc6 100644 --- a/src/journal/sd-journal.h +++ b/src/journal/sd-journal.h @@ -35,7 +35,6 @@ * - OR of matches is borked... * - extend hash tables table as we go * - accelerate looking for "all hostnames" and suchlike. - * - hookup with systemctl * - handle incomplete header * * - local deserializer diff --git a/src/login/libsystemd-login.sym b/src/login/libsystemd-login.sym index bac46f4064..15e505e83b 100644 --- a/src/login/libsystemd-login.sym +++ b/src/login/libsystemd-login.sym @@ -36,5 +36,5 @@ local: LIBSYSTEMD_LOGIN_38 { global: - sd_pid_get_service; + sd_pid_get_unit; } LIBSYSTEMD_LOGIN_31; diff --git a/src/login/sd-login.c b/src/login/sd-login.c index e857ae08d2..8893b1de80 100644 --- a/src/login/sd-login.c +++ b/src/login/sd-login.c @@ -121,11 +121,11 @@ _public_ int sd_pid_get_session(pid_t pid, char **session) { return 0; } -_public_ int sd_pid_get_service(pid_t pid, char **service) { +_public_ int sd_pid_get_unit(pid_t pid, char **unit) { int r; char *cgroup, *p; - if (!service) + if (!unit) return -EINVAL; r = pid_get_cgroup(pid, NULL, &cgroup); @@ -144,7 +144,7 @@ _public_ int sd_pid_get_service(pid_t pid, char **service) { if (!p) return -ENOMEM; - *service = p; + *unit = p; return 0; } diff --git a/src/login/sd-login.h b/src/login/sd-login.h index 1d8a55e906..00de6716b0 100644 --- a/src/login/sd-login.h +++ b/src/login/sd-login.h @@ -53,9 +53,9 @@ int sd_pid_get_session(pid_t pid, char **session); * return an error for system processes. */ int sd_pid_get_owner_uid(pid_t pid, uid_t *uid); -/* Get service name from PID. This will return an error for - * non-service processes. */ -int sd_pid_get_service(pid_t, char **service); +/* Get systemd unit (i.e. service) name from PID. This will return an + * error for non-service processes. */ +int sd_pid_get_unit(pid_t, char **unit); /* Get state from uid. Possible states: offline, lingering, online, active */ int sd_uid_get_state(uid_t uid, char**state); diff --git a/src/logs-show.c b/src/logs-show.c index d178f95f94..e28fe8fa21 100644 --- a/src/logs-show.c +++ b/src/logs-show.c @@ -359,7 +359,7 @@ int show_journal_by_service( if (!prefix) prefix = ""; - if (asprintf(&m, "_SYSTEMD_SERVICE=%s", service) < 0) { + if (asprintf(&m, "_SYSTEMD_UNIT=%s", service) < 0) { r = -ENOMEM; goto finish; } |