On 02/08/17 11:03, Andres Freund wrote:
Returning zero to indicate success is a holdover to the time computers
could only run one program at a time. At the end of the code there was
a jump table of 4 byte entries. The first entry with a displacement of
zero was the location to jump to for a normal exit, subsequent entries
where for various error conditions. This why often return codes where
in positive multiples of 4, since we don't use jump tables now - more &
more people are using any integers they want.
On 2017-08-02 10:58:32 +1200, Thomas Munro wrote:
When I shut down a cluster that isn't using logical replication, it
always logs a line like the following. So do the build farm members I
looked at. I didn't see anything about this in the open items list --
isn't it a bug?
2017-08-02 10:39:25.007 NZST  LOG: worker process: logical
replication launcher (PID 34788) exited with exit code 1
Exit code 0 signals that a worker should be restarted. Therefore
graceful exit can't really use that. I think a) we really need to
improve bgworker infrastructure around that b) shows the limit of using
bgworkers for this kinda thing - we should probably have a more bgworker
like infrastructure for internal workers.
So apart from convention, returning zero is no longer held to be a
sacred to indicate something exited okay. In fact since, zero could
simply mean a value was not explicitly assigned, hence it is actually a
very dangerous value to be used to indicate success!
Sent via pgsql-hackers mailing list (email@example.com)
To make changes to your subscription: