forked from mirrors/nixpkgs
7532c5379d
Status messages of ddclient go to stdout, which is block buffered by default, so most of its output won't appear in the journal until it is exiting: -- Reboot -- Apr 19 11:31:04 xen systemd[1]: Starting Dynamic DNS Client... Apr 19 11:31:04 xen systemd[1]: Started Dynamic DNS Client. Apr 19 11:31:53 xen systemd[1]: Stopping Dynamic DNS Client... Apr 19 11:31:53 xen ddclient[530]: === opt ==== Apr 19 11:31:53 xen ddclient[530]: opt{cache} : <undefined> Apr 19 11:31:53 xen ddclient[530]: opt{cmd} : <undefined> ... Fix this by adding a patch to set line buffering on stdout.
21 lines
670 B
Diff
21 lines
670 B
Diff
diff -u ddclient-3.8.1/ddclient ddclient-3.8.1.patched/ddclient
|
|
--- ddclient-3.8.1/ddclient 2011-07-11 23:04:21.000000000 +0200
|
|
+++ ddclient-3.8.1.patched/ddclient 2012-11-08 11:52:31.930647236 +0100
|
|
@@ -19,6 +19,7 @@ use strict;
|
|
use Getopt::Long;
|
|
use Sys::Hostname;
|
|
use IO::Socket;
|
|
+use IO::Handle qw( );
|
|
|
|
my ($VERSION) = q$Revision: 157 $ =~ /(\d+)/;
|
|
|
|
@@ -675,7 +676,7 @@ $SIG{'TERM'} = sub { $caught_term = 1; };
|
|
$SIG{'KILL'} = sub { $caught_kill = 1; };
|
|
# don't fork() if foreground or force is on
|
|
if (opt('foreground') || opt('force')) {
|
|
- ;
|
|
+ STDOUT->autoflush(1);
|
|
} elsif (opt('daemon')) {
|
|
$SIG{'CHLD'} = 'IGNORE';
|
|
my $pid = fork;
|