DragonFly BSD
DragonFly commits List (threaded) for 2005-05
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

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


To: Joerg Sonnenberger <joerg@xxxxxxxxxxxxxxxxxxxxxxx>
From: David Xu <davidxu@xxxxxxxx>
Date: Thu, 05 May 2005 17:44:26 +0800

No, both DragonflyBSD and FreeBSD's tls implementation are not
asynchronous signal safe yet, also I did try to support it
in rtld, but it still does not work correctly, because reader
lock in rtld does not disable signal.
I think this change should be delayed, otherwise it will cause
a dead lock in signal handler.
I remembered I ever told Matt that a fast userland critical section
is needed, I just don't have enough time to follow the Dragonfly development speed, sorry for that.


David Xu


Joerg Sonnenberger wrote:
joerg 2005/05/03 00:29:04 PDT

DragonFly src repository

Modified files:
lib/libc/gen Makefile.inc errlst.c lib/libc/i386/sys cerror.S ptrace.S lib/libc/sys Makefile.inc lib/libc_r/sys Makefile.inc lib/libc_r/uthread Makefile.inc pthread_private.h uthread_init.c uthread_mutex.c lib/libthread_xu Makefile pthread.map lib/libthread_xu/thread Makefile.inc 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 Makefile.inc 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.
Revision Changes Path
1.13 +5 -1 src/lib/libc/gen/Makefile.inc
1.3 +2 -1 src/lib/libc/gen/errlst.c
1.4 +14 -12 src/lib/libc/i386/sys/cerror.S
1.4 +16 -3 src/lib/libc/i386/sys/ptrace.S
1.13 +0 -5 src/lib/libc/sys/Makefile.inc
1.3 +2 -2 src/lib/libc_r/sys/Makefile.inc
1.6 +0 -1 src/lib/libc_r/uthread/Makefile.inc
1.8 +1 -7 src/lib/libc_r/uthread/pthread_private.h
1.8 +0 -1 src/lib/libc_r/uthread/uthread_init.c
1.3 +7 -5 src/lib/libc_r/uthread/uthread_mutex.c
1.4 +0 -2 src/lib/libthread_xu/Makefile
1.3 +0 -1 src/lib/libthread_xu/pthread.map
1.3 +0 -1 src/lib/libthread_xu/thread/Makefile.inc
1.5 +6 -4 src/lib/libthread_xu/thread/thr_mutex.c
1.6 +6 -5 src/sys/sys/errno.h



http://www.dragonflybsd.org/cvsweb/src/lib/libc/gen/Makefile.inc.diff?r1=1.12&r2=1.13&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libc/gen/errlst.c.diff?r1=1.2&r2=1.3&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libc/i386/sys/cerror.S.diff?r1=1.3&r2=1.4&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libc/i386/sys/ptrace.S.diff?r1=1.3&r2=1.4&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libc/sys/Makefile.inc.diff?r1=1.12&r2=1.13&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libc_r/sys/Makefile.inc.diff?r1=1.2&r2=1.3&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libc_r/uthread/Makefile.inc.diff?r1=1.5&r2=1.6&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libc_r/uthread/pthread_private.h.diff?r1=1.7&r2=1.8&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libc_r/uthread/uthread_init.c.diff?r1=1.7&r2=1.8&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libc_r/uthread/uthread_mutex.c.diff?r1=1.2&r2=1.3&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/Makefile.diff?r1=1.3&r2=1.4&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/pthread.map.diff?r1=1.2&r2=1.3&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/Makefile.inc.diff?r1=1.2&r2=1.3&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_mutex.c.diff?r1=1.4&r2=1.5&f=u http://www.dragonflybsd.org/cvsweb/src/sys/sys/errno.h.diff?r1=1.5&r2=1.6&f=u



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]