[Q] bug-iconv3 and locking functions.
Carlos O'Donell
carlos@baldric.uwo.ca
Thu Aug 21 15:35:00 GMT 2003
libc-alpha,
The comment in libc/iconvdata/bug-iconv3.c notes:
/* And load some more. This call hang for some configuration since
the internal locking necessary wasn't adequately written to
handle a dynamically loaded libpthread after the first call to
iconv_open. */
The iconv_open function, through a chain of other function calls relies
on __libc_lock_* to do all locking. What is the purpose of the above
testcase? From what I can see, without threading the __libc_lock_*
functions do nothing, with threading they are pthread_mutex_t
structures. On the first call to iconv_open we setup a number of global
variables without locking. We then load the linuxthreads library, which
will do it's own initialization. Lastly iconv_open is called again to
test if it hangs. On hppa it does. Is this indicating that our mutex
functions are _not_ behaving as expected?
A clarification of the testcase purpose would help me out. Is there
perhaps a document anywhere indicating the purpose and reasons for each
testcase?
Cheers,
Carlos.
More information about the Libc-alpha
mailing list