I wrote: > On my machine, man system(3) saith: > system() ignores the SIGINT and SIGQUIT signals, and blocks the > SIGCHLD signal, while waiting for the command to terminate. If this > might cause the application to miss a signal that would have killed > it, the application should examine the return value from system() and > take whatever action is appropriate to the application if the command > terminated due to receipt of a signal.
> Now, the code that directly calls system(), namely pgarch_archiveXlog(), > knows this perfectly well, as per the comment at lines 590ff in HEAD. > However, the code that *calls* it did not get the memo :-(, and appears > to be willing to retry regardless. Uh, no, scratch that: the code in pgarch_archiveXlog ought to be doing ereport(FATAL) if this case applies. So it's not clear what is happening for you, unless system() returned a misleading return code. You might try adding a debug printout to show the actual returned value. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers