[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: More nits (was Re: reentrant variants of gethostbyname2/gethostbyaddr)



Hi!

On Mon, Mar 06, 2006 at 11:11:59AM -0800, Ted Unangst wrote:
>On 3/6/06, Hannah Schroeter <hannah_(_at_)_schlund_(_dot_)_de> wrote:
>> And I think <pthread.h> pollutes the global namespace in an unfortunate
>> way, e.g.

>>        struct pthread;

>are you really creating your own struct pthread type?

No. It's a C++ project and other team members have a library
which also wraps pthread stuff in C++, and those pthread wrappers
and convenience functions live in a namespace pthread.

So they try to access things like pthread::SomeClass, but
then the C++ compiler tries to find a member SomeClass of the
*struct* pthread from <pthread.h> instead of the namespace
pthread from their own headers, and fails, of course.

>> Wouldn't it make sense to use "private" names for the opaque struct?
>> I.e.

>>        struct __pthread;

>>        ...

>>        typedef struct __pthread *pthread_t;

>> If that's accepted in general, I'd of course be ready to prepare a
>> diff.

>it would probably be useful just to reinforce the idea that it's
>private and one shouldn't try to use it.

And it'd reduce namespace pollution, and it would fit into the picture
that names starting with __ or _[A-Z] belong to the implementation
of C/C++/POSIX/..., i.e. that wouldn't count as namespace pollution
any more.

So shall I prepare a patch for that and submit it?

Kind regards,

Hannah.



Visit your host, monkey.org