cvs commit: src/lib/libc/gen closedir.c

Bruce Evans brde at optusnet.com.au
Thu Dec 6 23:15:41 PST 2007


On Thu, 6 Dec 2007, [utf-8] Dag-Erling Smørgrav wrote:

> Bruce Evans <brde at optusnet.com.au> writes:
>> dd_lock cannot be declared as struct pthread_mutex *, since pthread_mutex
>> is not permitted in the application namespace of dirent.h.  dirent.h
>> is (was) careful about namespaces.  E.g., it keeps out of the application
>> namespace for its own struct _dirdesc.  This doesn't work for pthread_mutex
>> since that is misdesigned.  (I think pthread_mutex_t is supposed to
>> hide the implementation and reduce namespace problems, but struct
>> pthread was only declared in <pthread.h> where it is permitted in the
>> namespace, so <pthread.h> doesn't bother naming it struct _pthread_mutex.
>> Other headers can't define it with a different name (tag) because different
>> tags give different structs.)
>
> Since struct pthread_mutex is not part of the API, how about simply
> renaming it to struct _pthread_mutex to circumvent the namespace issues?

Seems right in theory.

Bruce


More information about the cvs-src mailing list