From 1c0cfc8726c1c5e4085ad43bdf533b91af88e971 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 29 Feb 2016 00:41:02 +0000 Subject: distinguish error messages intended for users vs developers For error messages intended to show user error (e.g. giving invalid options), we add a newline ("\n") at the end to polluting the output with location information. However, for diagnosing non-user-triggered errors, we should show the location of where the error occured. --- lib/PublicInbox/Config.pm | 6 +++--- lib/PublicInbox/Daemon.pm | 18 ++++++++---------- lib/PublicInbox/NNTP.pm | 2 +- lib/PublicInbox/WWW.pm | 2 +- 4 files changed, 13 insertions(+), 15 deletions(-) (limited to 'lib') diff --git a/lib/PublicInbox/Config.pm b/lib/PublicInbox/Config.pm index b5116388..f84a9550 100644 --- a/lib/PublicInbox/Config.pm +++ b/lib/PublicInbox/Config.pm @@ -73,7 +73,7 @@ sub git_config_dump { my @cmd = (qw/git config/, "--file=$file", '-l'); my $cmd = join(' ', @cmd); my $pid = open(my $fh, '-|', @cmd); - defined $pid or die "$cmd failed: $!\n"; + defined $pid or die "$cmd failed: $!"; my %rv; foreach my $line (<$fh>) { chomp $line; @@ -90,8 +90,8 @@ sub git_config_dump { $rv{$k} = $v; } } - close $fh or die "failed to close ($cmd) pipe: $!\n"; - $? and warn "$$ $cmd exited with: ($pid) $?\n"; + close $fh or die "failed to close ($cmd) pipe: $!"; + $? and warn "$$ $cmd exited with: ($pid) $?"; \%rv; } diff --git a/lib/PublicInbox/Daemon.pm b/lib/PublicInbox/Daemon.pm index b8482d36..45c15634 100644 --- a/lib/PublicInbox/Daemon.pm +++ b/lib/PublicInbox/Daemon.pm @@ -67,12 +67,12 @@ sub daemon_prepare ($) { warn "error binding $l: $!\n"; } } - die 'No listeners bound' unless @listeners; + die "No listeners bound\n" unless @listeners; } sub daemonize () { - chdir '/' or die "chdir failed: $!\n"; - open(STDIN, '+<', '/dev/null') or die "redirect stdin failed: $!\n"; + chdir '/' or die "chdir failed: $!"; + open(STDIN, '+<', '/dev/null') or die "redirect stdin failed: $!"; return unless (defined $pid_file || defined $group || defined $user || $daemonize); @@ -238,12 +238,10 @@ sub do_fork () { my $new = POSIX::SigSet->new; $new->fillset; my $old = POSIX::SigSet->new; - POSIX::sigprocmask(&POSIX::SIG_BLOCK, $new, $old) or - die "SIG_BLOCK: $!\n"; + POSIX::sigprocmask(&POSIX::SIG_BLOCK, $new, $old) or die "SIG_BLOCK: $!"; my $pid = fork; my $err = $!; - POSIX::sigprocmask(&POSIX::SIG_SETMASK, $old) or - die "SIG_SETMASK: $!\n"; + POSIX::sigprocmask(&POSIX::SIG_SETMASK, $old) or die "SIG_SETMASK: $!"; ($pid, $err); } @@ -254,7 +252,7 @@ sub upgrade_aborted ($) { return unless $pid_file; my $file = $pid_file; - $file =~ s/\.oldbin\z// or die "BUG: no '.oldbin' suffix in $file\n"; + $file =~ s/\.oldbin\z// or die "BUG: no '.oldbin' suffix in $file"; unlink_pid_file_safe_ish($$, $pid_file); $pid_file = $file; eval { write_pid($pid_file) }; @@ -289,8 +287,8 @@ sub unlink_pid_file_safe_ish ($$) { } sub master_loop { - pipe(my ($p0, $p1)) or die "failed to create parent-pipe: $!\n"; - pipe(my ($r, $w)) or die "failed to create self-pipe: $!\n"; + pipe(my ($p0, $p1)) or die "failed to create parent-pipe: $!"; + pipe(my ($r, $w)) or die "failed to create self-pipe: $!"; IO::Handle::blocking($w, 0); my $set_workers = $worker_processes; my @caught; diff --git a/lib/PublicInbox/NNTP.pm b/lib/PublicInbox/NNTP.pm index bcce7703..fbf8f7f2 100644 --- a/lib/PublicInbox/NNTP.pm +++ b/lib/PublicInbox/NNTP.pm @@ -229,7 +229,7 @@ sub parse_time ($$;$) { use Time::Local qw(); my ($hh, $mm, $ss) = unpack('A2A2A2', $time); if (defined $gmt) { - $gmt =~ /\A(?:UTC|GMT)\z/i or die "GM invalid: $gmt\n"; + $gmt =~ /\A(?:UTC|GMT)\z/i or die "GM invalid: $gmt"; $gmt = 1; } my @now = $gmt ? gmtime : localtime; diff --git a/lib/PublicInbox/WWW.pm b/lib/PublicInbox/WWW.pm index 2da819b1..98e33fd3 100644 --- a/lib/PublicInbox/WWW.pm +++ b/lib/PublicInbox/WWW.pm @@ -244,7 +244,7 @@ sub get_thread { sub ctx_get { my ($ctx, $key) = @_; my $val = $ctx->{$key}; - (defined $val && $val ne '') or die "BUG: bad ctx, $key unusable\n"; + (defined $val && $val ne '') or die "BUG: bad ctx, $key unusable"; $val; } -- cgit v1.2.3-24-ge0c7