X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fshared%2Flogs-show.c;h=b909c24e98579f395e027970d4a41ebcb7c69842;hb=076a24adf4bfbb9c5aa8167e102c253c7e1c651e;hp=034fde6624793de677ebd45b56e98444bd90eb91;hpb=1a6c43e94649b3f271502a88655f63ea85168fec;p=elogind.git diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c index 034fde662..b909c24e9 100644 --- a/src/shared/logs-show.c +++ b/src/shared/logs-show.c @@ -886,12 +886,6 @@ int show_journal_by_unit( assert(mode < _OUTPUT_MODE_MAX); assert(unit); - if (!endswith(unit, ".service") && - !endswith(unit, ".socket") && - !endswith(unit, ".mount") && - !endswith(unit, ".swap")) - return 0; - if (how_many <= 0) return 0; @@ -954,7 +948,7 @@ int show_journal_by_user_unit( uid_t uid, OutputFlags flags) { - _cleanup_free_ char *m1 = NULL, *m2 = NULL, *m3 = NULL; + _cleanup_free_ char *m1 = NULL, *m2 = NULL, *m3 = NULL, *m4 = NULL; sd_journal *j = NULL; int r; @@ -962,17 +956,13 @@ int show_journal_by_user_unit( assert(mode < _OUTPUT_MODE_MAX); assert(unit); - if (!endswith(unit, ".service") && - !endswith(unit, ".socket")) - - return 0; - if (how_many <= 0) return 0; if (asprintf(&m1, "_SYSTEMD_USER_UNIT=%s", unit) < 0 || asprintf(&m2, "USER_UNIT=%s", unit) < 0 || - asprintf(&m3, "_UID=%d", uid) < 0) { + asprintf(&m3, "COREDUMP_USER_UNIT=%s", unit) < 0 || + asprintf(&m4, "_UID=%d", uid) < 0) { r = -ENOMEM; goto finish; } @@ -985,7 +975,7 @@ int show_journal_by_user_unit( r = sd_journal_add_match(j, m1, 0); if (r < 0) goto finish; - r = sd_journal_add_match(j, m3, 0); + r = sd_journal_add_match(j, m4, 0); if (r < 0) goto finish; @@ -994,9 +984,20 @@ int show_journal_by_user_unit( if (r < 0) goto finish; r = sd_journal_add_match(j, m2, 0); + if (r < 0) + goto finish; + r = sd_journal_add_match(j, m4, 0); + if (r < 0) + goto finish; + + /* Look for coredumps of the service */ + r = sd_journal_add_disjunction(j); if (r < 0) goto finish; r = sd_journal_add_match(j, m3, 0); + if (r < 0) + goto finish; + r = sd_journal_add_match(j, m4, 0); if (r < 0) goto finish;