(seal ? JOURNAL_SEAL : 0) |
JOURNAL_STRICT_ORDER;
- set_clear_with_destructor(s->deferred_closes, journal_file_offline_close);
+ set_clear(s->deferred_closes);
if (reliably)
r = journal_file_open_reliably(
(void) server_system_journal_open(s, /* flush_requested */ false, /* relinquish_requested=*/ true);
s->system_journal = journal_file_offline_close(s->system_journal);
- ordered_hashmap_clear_with_destructor(s->user_journals, journal_file_offline_close);
- set_clear_with_destructor(s->deferred_closes, journal_file_offline_close);
+ ordered_hashmap_clear(s->user_journals);
+ set_clear(s->deferred_closes);
server_refresh_idle_timer(s);
return 0;
(void) mkdir_p(s->runtime_directory, 0755);
- s->user_journals = ordered_hashmap_new(NULL);
+ s->user_journals = ordered_hashmap_new(&journal_file_hash_ops_offline_close);
if (!s->user_journals)
return log_oom();
if (!s->mmap)
return log_oom();
- s->deferred_closes = set_new(NULL);
+ s->deferred_closes = set_new(&journal_file_hash_ops_offline_close);
if (!s->deferred_closes)
return log_oom();
free(s->namespace);
free(s->namespace_field);
- set_free_with_destructor(s->deferred_closes, journal_file_offline_close);
+ set_free(s->deferred_closes);
while (s->stdout_streams)
stdout_stream_free(s->stdout_streams);
(void) journal_file_offline_close(s->system_journal);
(void) journal_file_offline_close(s->runtime_journal);
- ordered_hashmap_free_with_destructor(s->user_journals, journal_file_offline_close);
+ ordered_hashmap_free(s->user_journals);
sd_varlink_server_unref(s->varlink_server);
if (r < 0)
return r;
- set_clear_with_destructor(deferred_closes, journal_file_offline_close);
+ set_clear(deferred_closes);
r = journal_file_open(
/* fd= */ -EBADF,
return journal_file_open(-EBADF, fname, open_flags, file_flags, mode, compress_threshold_bytes, metrics,
mmap_cache, /* template = */ old_file, ret);
}
+
+DEFINE_HASH_OPS_WITH_VALUE_DESTRUCTOR(
+ journal_file_hash_ops_offline_close,
+ void, trivial_hash_func, trivial_compare_func,
+ JournalFile, journal_file_offline_close);