cvs commit: src/lib/libc/gen errlst.c src/lib/libc/i386/sys cerror.S ptrace.S src/lib/libc/sys __error.c src/lib/libc_r/sys uthread_error.c src/lib/libc_r/uthread ...

Matthew Dillon dillon at
Tue May 3 09:48:52 PDT 2005

    p.s. to everyone following along... this change is a precursor of things
    to come.  It's a BIG deal.   Make sure you have an up-to-date kernel 
    due to the recent TLS bug fix.

    The big deal here is that we are now using TLS (thread locale storage)
    in all binaries, even unthreaded ones.  That is, we are starting to use
    __thread for per-thread declarations like errno, whether the program
    is threaded or not. 

    This will allow us to normalize libc and *GREATLY* reduce the complexity
    of the thread libraries.  e.g. things like 'strtok' won't have to be
    avoided and won't have to be overridden by the thread library.  The libc
    version will 'just work'.

					Matthew Dillon 
					<dillon at xxxxxxxxxxxxx>

:joerg       2005/05/03 00:29:04 PDT
:DragonFly src repository
:  Modified files:
:    lib/libc/gen errlst.c 
:    lib/libc/i386/sys    cerror.S ptrace.S 
:    lib/libc/sys 
:    lib/libc_r/sys 
:    lib/libc_r/uthread pthread_private.h 
:                         uthread_init.c uthread_mutex.c 
:    lib/libthread_xu     Makefile 
:    lib/libthread_xu/thread thr_mutex.c 
:    sys/sys              errno.h 
:  Removed files:
:    lib/libc/sys         __error.c 
:    lib/libc_r/sys       uthread_error.c 
:    lib/libc_r/uthread   uthread_seterrno.c 
:    lib/libthread_xu/sys thr_error.c 
:    lib/libthread_xu/thread thr_seterrno.c 
:  Log:
:  Make errno a thread-local variable and remove the __error function.
:  The handling of ceiling violations on mutexes can be improved, it
:  currently needs two syscalls.

More information about the Commits mailing list