mirror of
https://github.com/morgan9e/systemd
synced 2026-04-14 08:25:20 +09:00
journald-kmsg: introduce manager_close_kernel_seqnum() helper function
This commit is contained in:
@@ -429,6 +429,7 @@ int manager_open_kernel_seqnum(Manager *m) {
|
||||
int r;
|
||||
|
||||
assert(m);
|
||||
assert(!m->kernel_seqnum);
|
||||
|
||||
/* We store the seqnum we last read in an mmapped file. That way we can just use it like a variable,
|
||||
* but it is persistent and automatically flushed at reboot. */
|
||||
@@ -443,6 +444,13 @@ int manager_open_kernel_seqnum(Manager *m) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
void manager_close_kernel_seqnum(Manager *m) {
|
||||
assert(m);
|
||||
|
||||
manager_unmap_seqnum_file(m->kernel_seqnum, sizeof(*m->kernel_seqnum));
|
||||
m->kernel_seqnum = NULL;
|
||||
}
|
||||
|
||||
int manager_reload_dev_kmsg(Manager *m) {
|
||||
int r;
|
||||
|
||||
|
||||
@@ -10,5 +10,6 @@ int manager_reload_dev_kmsg(Manager *m);
|
||||
void manager_forward_kmsg(Manager *m, int priority, const char *identifier, const char *message, const struct ucred *ucred);
|
||||
|
||||
int manager_open_kernel_seqnum(Manager *m);
|
||||
void manager_close_kernel_seqnum(Manager *m);
|
||||
|
||||
void dev_kmsg_record(Manager *m, char *p, size_t l);
|
||||
|
||||
@@ -2107,7 +2107,7 @@ int manager_map_seqnum_file(
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void manager_unmap_seqnum_file(void *p, size_t size) {
|
||||
void manager_unmap_seqnum_file(void *p, size_t size) {
|
||||
assert(size > 0);
|
||||
|
||||
if (!p)
|
||||
@@ -2599,7 +2599,7 @@ Manager* manager_free(Manager *m) {
|
||||
ordered_hashmap_free(m->ratelimit_groups_by_id);
|
||||
|
||||
manager_unmap_seqnum_file(m->seqnum, sizeof(*m->seqnum));
|
||||
manager_unmap_seqnum_file(m->kernel_seqnum, sizeof(*m->kernel_seqnum));
|
||||
manager_close_kernel_seqnum(m);
|
||||
|
||||
free(m->buffer);
|
||||
free(m->cgroup_root);
|
||||
|
||||
@@ -192,3 +192,4 @@ int manager_start_or_stop_idle_timer(Manager *m);
|
||||
int manager_reload_journals(Manager *m);
|
||||
|
||||
int manager_map_seqnum_file(Manager *m, const char *fname, size_t size, void **ret);
|
||||
void manager_unmap_seqnum_file(void *p, size_t size);
|
||||
|
||||
Reference in New Issue
Block a user