<div dir="ltr">Hello,<br>I am updating a system from systemd v250 to systemd v255. There is some small utility on the system using sd_journal_add_match() to react on coredumps being printed to the journal:<br><br>sd_journal_open(...);<br>poll_fd = sd_journal_get_fd(...);<br>sd_journal_seek_tail(...);<br>sd_journal_previous(...);<br>sd_journal_add_match(..., "MESSAGE_ID=fc2e22bc6ee647b6b90729ab34a250b1");<br>poll(poll_fd)<br><br>When poll returns, sd_journal_process() is called, followed by sd_journal_next() in case sd_journal_process() does not return SD_JOURNAL_NOP<br><br>This is very similar to <a href="https://github.com/systemd/systemd/blob/main/man/journal-iterate-poll.c">https://github.com/systemd/systemd/blob/main/man/journal-iterate-poll.c</a> , except that there is a call to sd_journal_add_match, and that sd_journal_next is called after poll().<br><br>This used to work with systemd v250, however it does not work with v255 (sd_journal_next() always returns 0 which means "no new data"). I bisected it, and the commit after which it stops working is <a href="https://github.com/systemd/systemd/commit/7a4ee861615101ddd2f95056cf30e69e41da86ce">https://github.com/systemd/systemd/commit/7a4ee861615101ddd2f95056cf30e69e41da86ce</a> <br><br>What is the correct way to read the journal entry after poll() returns, meaning a match as configured by sd_journal_add_match() was found? Should sd_journal_get_data() be called directly instead of sd_journal_next()?<br><br>I'd like to extend  <a href="https://github.com/systemd/systemd/blob/main/man/journal-iterate-poll.c">https://github.com/systemd/systemd/blob/main/man/journal-iterate-poll.c</a>  to make the proper way to do this clearer, in case sd_journal_next() is not the correct way.<br><br>Thanks,<br>Étienne</div>