1616#include "string-util.h"
1717#include "util.h"
1818
19- #define JOURNAL_SEND_POLL_TIMEOUT (10 * USEC_PER_SEC)
20-
2119/* Default severity LOG_NOTICE */
2220#define JOURNAL_DEFAULT_SEVERITY LOG_PRI(LOG_NOTICE)
2321
@@ -200,8 +198,8 @@ static int manager_read_journal_input(Manager *m) {
200198 message , hostname ,
201199 pid ,
202200 r >= 0 ? & tv : NULL ,
203- structured_data ,
204- msgid );
201+ m -> structured_data ? structured_data : NULL ,
202+ m -> syslog_msgid ? msgid : NULL );
205203}
206204
207205static int update_cursor_state (Manager * m ) {
@@ -264,6 +262,7 @@ static int load_cursor_state(Manager *m) {
264262}
265263
266264static int process_journal_input (Manager * m ) {
265+ _cleanup_free_ char * cursor = NULL ;
267266 int r ;
268267
269268 assert (m );
@@ -279,7 +278,6 @@ static int process_journal_input(Manager *m) {
279278
280279 r = manager_read_journal_input (m );
281280 if (r < 0 ) {
282- m -> current_cursor = mfree (m -> current_cursor );
283281 /* Can't send the message. Seek one entry back. */
284282 r = sd_journal_previous (m -> journal );
285283 if (r < 0 )
@@ -289,15 +287,15 @@ static int process_journal_input(Manager *m) {
289287 }
290288 }
291289
292- r = sd_journal_get_cursor (m -> journal , & m -> current_cursor );
290+ r = sd_journal_get_cursor (m -> journal , & cursor );
293291 if (r < 0 ) {
294292 log_error_errno (r , "Failed to get cursor: %m" );
295- m -> current_cursor = mfree (m -> current_cursor );
293+ cursor = mfree (cursor );
296294 }
297295
298296 free (m -> last_cursor );
299- m -> last_cursor = m -> current_cursor ;
300- m -> current_cursor = NULL ;
297+ m -> last_cursor = cursor ;
298+ cursor = NULL ;
301299
302300 return update_cursor_state (m );
303301}
@@ -338,8 +336,6 @@ static void close_journal_input(Manager *m) {
338336 sd_journal_close (m -> journal );
339337 m -> journal = NULL ;
340338 }
341-
342- m -> timeout = 0 ;
343339}
344340
345341static int manager_signal_event_handler (sd_event_source * event , const struct signalfd_siginfo * si , void * userdata ) {
@@ -391,13 +387,6 @@ static int manager_journal_monitor_listen(Manager *m) {
391387
392388 events = sd_journal_get_events (m -> journal );
393389
394- r = sd_journal_reliable_fd (m -> journal );
395- assert (r >= 0 );
396- if (r > 0 )
397- m -> timeout = -1 ;
398- else
399- m -> timeout = JOURNAL_SEND_POLL_TIMEOUT ;
400-
401390 r = sd_event_add_io (m -> event , & m -> event_journal_input , m -> journal_watch_fd ,
402391 events , manager_journal_event_handler , m );
403392 if (r < 0 )
@@ -516,15 +505,14 @@ int manager_resolve_handler(sd_resolve_query *q, int ret, const struct addrinfo
516505 continue ;
517506 }
518507
519- m -> socklen = ai -> ai_addrlen ;
520508 memcpy (& m -> address .sockaddr , (const union sockaddr_union * ) ai -> ai_addr , ai -> ai_addrlen );
521509
522510 if (ai -> ai_addr -> sa_family == AF_INET6 )
523511 m -> address .sockaddr .in6 .sin6_port = htobe16 ((uint16_t ) m -> port );
524512 else
525513 m -> address .sockaddr .in .sin_port = htobe16 ((uint16_t ) m -> port );
526514
527- sockaddr_pretty (& m -> address .sockaddr .sa , m -> socklen , true, true, & pretty );
515+ sockaddr_pretty (& m -> address .sockaddr .sa , ai -> ai_addrlen , true, true, & pretty );
528516
529517 log_debug ("Resolved address %s for %s." , pretty , m -> server_name );
530518
@@ -609,7 +597,6 @@ void manager_free(Manager *m) {
609597 free (m -> server_name );
610598
611599 free (m -> last_cursor );
612- free (m -> current_cursor );
613600
614601 free (m -> state_file );
615602 free (m -> dir );
@@ -620,9 +607,6 @@ void manager_free(Manager *m) {
620607 sd_event_source_unref (m -> network_event_source );
621608 sd_network_monitor_unref (m -> network_monitor );
622609
623- sd_event_source_unref (m -> sigterm_event );
624- sd_event_source_unref (m -> sigint_event );
625-
626610 sd_event_source_unref (m -> event_retry );
627611 sd_event_unref (m -> event );
628612 free (m );
0 commit comments