[torquedev] pbm_mom segfault in TMomCheckJobChild
Joshua Bernstein
jbernstein at penguincomputing.com
Wed Dec 17 16:15:05 MST 2008
Garrick Staples wrote:
> After investigating both patches yesterday, I have to conclude that neither is
> of merit. The close_conn() should never do the right thing, and the usage of
> '&&' in this context is perfectly valid.
Fair enough. But why is close(i) used there, when apparently in the
2.4.0, its been corrected to close_conn()? Further close_conn() is used
elsewhere in many other similar functions, thus it seems like a valid fix.
The second patch isn't really about the ordering of the if test. Its
about that fact that errno is assigned to a variable even if the
previous call to read() succeeded. While the man page, the GNU spec, and
even the POSIX spec all talk about setting errno upon an actual error,
it does not say that errno is set to 0 upon success.
http://www.gnu.org/software/libtool/manual/libc/System-Calls.html
Further, a problem with POSIX 1003.1 specification is the lack of a no
error, errno value.
/* END RANT */
Even if you disagree with me, the fact remains that simply setting errno
to 0 upon entrance to the function, resolves the issue with the
segfault. Given that, I can't think of any other explanation.
But I could be wrong of course. ;-)
-Joshua Bernstein
Software Engineer
Penguin Computing
More information about the torquedev
mailing list