In postgresql.init, there is this line in start(): [ $retval -ne 0 ] && eend $retval && return $retval If I am not mistaken, the "return $retval" part will never be executed. This then causes the eerror further down to be printed, when it shouldn't be. Reproducible: Always
Provided that the test returns true, and the eend $retval command is executed successfully, then return $retval will be executed. Think of it more as how you string commands together on the command line: user $ run_this && then_run_this && finally_run_this If 'run_this' finishes successfully, then 'then_run_this' will be executed. If that finishes successfully, then 'finally_run_this' will be executed. But, if any of those commands fail, then the successive command(s) will not be executed.
What you (and the maintainer) didn't realize is that "eend $retval" will return whatever value $retval is. Thus, eend 2 && echo "this will never be executed"
Marking INVALID, per comment #1.
Reopening, as the reporter was right after all. Moral being let things play out more before acting based on irc.
(In reply to comment #2) > What you (and the maintainer) didn't realize is that "eend $retval" will return > whatever value $retval is. Thus, > > eend 2 && echo "this will never be executed" > Okay, so I was a bit hasty. (And the lack of easy to find documentation on eend didn't help either.) Edit that line so it looks like so instead: if [ $retval -ne 0 ] ; then eend $retval return $retval fi See if that fixes the issue.
Addressed in bug #311047
Committed.