bug: erroronous ret-value for system() call in 2.6-kernel
Hi!
Had a curious problem with postgresql 7.0.3. Could create a DB if I run
kernel 2.4 but not in 2.6. Had a look in
/src/backend/commands/dbcommands.c and finaly found out that you use an
errorounous ret value from the system()-call. You checked for: if
(system(buf) != 0)
.. I changed those lines to if (system(buf) != -1 ) and it worked. (Thanks
to "man 3 system"
regards
Niklas Andersson
"Niklas Andersson" <niklas.andersson@cport.se> writes:
Had a curious problem with postgresql 7.0.3.
7.0.3? You do realize that that's prehistoric?
Could create a DB if I run
kernel 2.4 but not in 2.6. Had a look in
/src/backend/commands/dbcommands.c and finaly found out that you use an
errorounous ret value from the system()-call. You checked for: if
(system(buf) != 0)
.. I changed those lines to if (system(buf) != -1 ) and it worked. (Thanks
to "man 3 system"
I don't believe this change is correct; what you did was to disable
detection of failures of the child process, ie, cp returning a nonzero
exit status.
regards, tom lane