Bruce Momjian <bruce@momjian.us> writes:
> I checked on MinGW and system() just returns the value returned by the
> application. There isn't any special two-values-in-one layering like is
> done on Unix for wait() and the return value from system(). It seems if
> the child dies from a signal, the parent dies too, at least in my C
> tests.
The cases that I think we most need to defend against are
(A) diff program not found
(B) diff fails to read one of the input files
I think your proposal handles case B, because diff should return exit
code 2 which we will detect, but what happens in case A? Please test it.
regards, tom lane