On Jul 24, 2008, at 10:54 PM, SODA Noriyuki wrote:
1) It makes hard to use alternate pthread library, especially pthread libraries which support more than 100,000 threads. With today's RAM price, such number of threads can be easily supported by userland implementations and SA pthread, but current 1:1 thread library just cannot support such application.
I don't think so. If the alternate threading library exports the symbols that libc uses to get at the thread implementation, then it should work just fine.
That said, I'm not sure that has EVER really worked properly on our system, or if supporting it is even really a good idea. Using some random pthread library can't possibly work -- think "PTHREAD_MUTEX_INITIALIZER".
Now, if we wanted to have 1:1 threads in libc and a system-supplied libpthread_sa that was fully ABI-compatible with libc's 1:1 threads, that seems workable to me, and also seems like a pretty reasonable way to select which behavior you want (not that I really think we ought to be shipping a libpthread_sa, but I suspect I'll lose that argument "just because").
-- thorpej