Do we still need libc_r and libkse in /usr/src/lib?

Dmitry Krivenok krivenok.dmitry at gmail.com
Mon Jul 5 11:05:00 UTC 2010


Hi Hackers,

I've just started learning implementation of threads in FreeBSD-CURRENT.
exctags found three different implementations of pthread_create
function - libc_r, libkse and libthr:

  # pri kind tag               file
  1 F   f    _pthread_create   lib/libc_r/uthread/uthread_create.c
               _pthread_create(pthread_t *thread, const pthread_attr_t *attr,
  2 F   f    _pthread_create   lib/libkse/thread/thr_create.c
               _pthread_create(pthread_t * thread, const pthread_attr_t * attr,
  3 F   f    _pthread_create   lib/libthr/thread/thr_create.c
               _pthread_create(pthread_t * thread, const pthread_attr_t * attr,

I did a quick search in the google and found that libc_r (N:1 model)
and libkse (N:M model) are no longer
used in FreeBSD. So the only supported implementation of POSIX threads
API is libthr (1:1 model), right?

However, I found that both libc_r and libkse are still in /usr/src/lib.
That looks like a bug because you even cannot build these libraries (I
encountered compilation errors).

I don't see obvious reason to keep such a dead code.
Isn't it better to remove these libraries (of course you can still
access the source code since SVN doesn't really delete anything)?
If not, could you please explain why?

Thanks!

-- 
Sincerely yours, Dmitry V. Krivenok
e-mail: krivenok.dmitry at gmail.com
skype: krivenok_dmitry
jabber: krivenok_dmitry at jabber.ru
icq: 242-526-443


More information about the freebsd-hackers mailing list