[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: TEST AAA
Re: TEST AAA
Mon, 22 Sep 2003 10:34:29 -0400 (EDT)
Paul Edwards writes:
> By the way, I think the bug is most likely to be the AIX I/O
> libraries. If you edit client.c and search for "AIX" you can
> see where they are mentioned.
> I think that the workaround they put into client.c is not good
> enough to get around the problem.
It's not so much a bug as an intentional limitation. Somewhere along
the line, AT&T found it necessary to add additional information to the
FILE struct. In order to preserve binary compatibility with previous
releases, they couldn't add fields to the struct, so what they did was
create a parallel array to hold the additional info and use the file
descriptor as the index into that array. Thus, if you fdopen the same
file descriptor multiple times, all of the FILEs try to share the same
additional information structure and end up smashing each other's data.
It's an old, well-known limitation that affects all SysV-derived Unices,
not just AIX, and the workaround in client.c is exactly what is needed.
Physical education is what you learn from having your face in
someone's armpit right before lunch. -- Calvin