16
16
#include "string-util.h"
17
17
#include "util.h"
18
18
19
- #define JOURNAL_SEND_POLL_TIMEOUT (10 * USEC_PER_SEC)
20
-
21
19
/* Default severity LOG_NOTICE */
22
20
#define JOURNAL_DEFAULT_SEVERITY LOG_PRI(LOG_NOTICE)
23
21
@@ -200,8 +198,8 @@ static int manager_read_journal_input(Manager *m) {
200
198
message , hostname ,
201
199
pid ,
202
200
r >= 0 ? & tv : NULL ,
203
- structured_data ,
204
- msgid );
201
+ m -> structured_data ? structured_data : NULL ,
202
+ m -> syslog_msgid ? msgid : NULL );
205
203
}
206
204
207
205
static int update_cursor_state (Manager * m ) {
@@ -264,6 +262,7 @@ static int load_cursor_state(Manager *m) {
264
262
}
265
263
266
264
static int process_journal_input (Manager * m ) {
265
+ _cleanup_free_ char * cursor = NULL ;
267
266
int r ;
268
267
269
268
assert (m );
@@ -279,7 +278,6 @@ static int process_journal_input(Manager *m) {
279
278
280
279
r = manager_read_journal_input (m );
281
280
if (r < 0 ) {
282
- m -> current_cursor = mfree (m -> current_cursor );
283
281
/* Can't send the message. Seek one entry back. */
284
282
r = sd_journal_previous (m -> journal );
285
283
if (r < 0 )
@@ -289,15 +287,15 @@ static int process_journal_input(Manager *m) {
289
287
}
290
288
}
291
289
292
- r = sd_journal_get_cursor (m -> journal , & m -> current_cursor );
290
+ r = sd_journal_get_cursor (m -> journal , & cursor );
293
291
if (r < 0 ) {
294
292
log_error_errno (r , "Failed to get cursor: %m" );
295
- m -> current_cursor = mfree (m -> current_cursor );
293
+ cursor = mfree (cursor );
296
294
}
297
295
298
296
free (m -> last_cursor );
299
- m -> last_cursor = m -> current_cursor ;
300
- m -> current_cursor = NULL ;
297
+ m -> last_cursor = cursor ;
298
+ cursor = NULL ;
301
299
302
300
return update_cursor_state (m );
303
301
}
@@ -338,8 +336,6 @@ static void close_journal_input(Manager *m) {
338
336
sd_journal_close (m -> journal );
339
337
m -> journal = NULL ;
340
338
}
341
-
342
- m -> timeout = 0 ;
343
339
}
344
340
345
341
static 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) {
391
387
392
388
events = sd_journal_get_events (m -> journal );
393
389
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
-
401
390
r = sd_event_add_io (m -> event , & m -> event_journal_input , m -> journal_watch_fd ,
402
391
events , manager_journal_event_handler , m );
403
392
if (r < 0 )
@@ -516,15 +505,14 @@ int manager_resolve_handler(sd_resolve_query *q, int ret, const struct addrinfo
516
505
continue ;
517
506
}
518
507
519
- m -> socklen = ai -> ai_addrlen ;
520
508
memcpy (& m -> address .sockaddr , (const union sockaddr_union * ) ai -> ai_addr , ai -> ai_addrlen );
521
509
522
510
if (ai -> ai_addr -> sa_family == AF_INET6 )
523
511
m -> address .sockaddr .in6 .sin6_port = htobe16 ((uint16_t ) m -> port );
524
512
else
525
513
m -> address .sockaddr .in .sin_port = htobe16 ((uint16_t ) m -> port );
526
514
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 );
528
516
529
517
log_debug ("Resolved address %s for %s." , pretty , m -> server_name );
530
518
@@ -609,7 +597,6 @@ void manager_free(Manager *m) {
609
597
free (m -> server_name );
610
598
611
599
free (m -> last_cursor );
612
- free (m -> current_cursor );
613
600
614
601
free (m -> state_file );
615
602
free (m -> dir );
@@ -620,9 +607,6 @@ void manager_free(Manager *m) {
620
607
sd_event_source_unref (m -> network_event_source );
621
608
sd_network_monitor_unref (m -> network_monitor );
622
609
623
- sd_event_source_unref (m -> sigterm_event );
624
- sd_event_source_unref (m -> sigint_event );
625
-
626
610
sd_event_source_unref (m -> event_retry );
627
611
sd_event_unref (m -> event );
628
612
free (m );
0 commit comments