diff options
author | davidxu <davidxu@FreeBSD.org> | 2006-07-25 12:50:05 +0000 |
---|---|---|
committer | davidxu <davidxu@FreeBSD.org> | 2006-07-25 12:50:05 +0000 |
commit | 5193e44c401f0c7a1515d53af97010ad4ec2a5b8 (patch) | |
tree | 5eb31066f178b759e506dc95bf97386c1c313268 /lib/libthr/thread/thr_init.c | |
parent | 1d7baed662871fe02edda1864616b8b379cb924d (diff) | |
download | FreeBSD-src-5193e44c401f0c7a1515d53af97010ad4ec2a5b8.zip FreeBSD-src-5193e44c401f0c7a1515d53af97010ad4ec2a5b8.tar.gz |
1. Don't override underscore version of aio_suspend(), system(),
wait(), waitpid() and usleep(), they are internal versions and
should not be cancellation points.
2. Make wait3() as a cancellation point.
3. Move raise() and pause() into file thr_sig.c.
4. Add functions _sigsuspend, _sigwait, _sigtimedwait and _sigwaitinfo,
remove SIGCANCEL bit in wait-set for those functions, the signal is
used internally to implement thread cancellation.
Diffstat (limited to 'lib/libthr/thread/thr_init.c')
-rw-r--r-- | lib/libthr/thread/thr_init.c | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/lib/libthr/thread/thr_init.c b/lib/libthr/thread/thr_init.c index 490c1b7..1150985 100644 --- a/lib/libthr/thread/thr_init.c +++ b/lib/libthr/thread/thr_init.c @@ -123,13 +123,8 @@ static void init_main_thread(struct pthread *thread); * All weak references used within libc should be in this table. * This is so that static libraries will work. */ -STATIC_LIB_REQUIRE(_accept); -STATIC_LIB_REQUIRE(_close); -STATIC_LIB_REQUIRE(_connect); -STATIC_LIB_REQUIRE(_fcntl); -STATIC_LIB_REQUIRE(_fsync); -STATIC_LIB_REQUIRE(_nanosleep); -STATIC_LIB_REQUIRE(_open); + +STATIC_LIB_REQUIRE(_fork); STATIC_LIB_REQUIRE(_pthread_getspecific); STATIC_LIB_REQUIRE(_pthread_key_create); STATIC_LIB_REQUIRE(_pthread_key_delete); @@ -143,20 +138,25 @@ STATIC_LIB_REQUIRE(_pthread_mutexattr_destroy); STATIC_LIB_REQUIRE(_pthread_mutexattr_settype); STATIC_LIB_REQUIRE(_pthread_once); STATIC_LIB_REQUIRE(_pthread_setspecific); -STATIC_LIB_REQUIRE(_read); -STATIC_LIB_REQUIRE(_readv); -STATIC_LIB_REQUIRE(_recvfrom); -STATIC_LIB_REQUIRE(_recvmsg); -STATIC_LIB_REQUIRE(_select); -STATIC_LIB_REQUIRE(_sendmsg); -STATIC_LIB_REQUIRE(_sendto); +STATIC_LIB_REQUIRE(_raise); +STATIC_LIB_REQUIRE(_sem_destroy); +STATIC_LIB_REQUIRE(_sem_getvalue); +STATIC_LIB_REQUIRE(_sem_init); +STATIC_LIB_REQUIRE(_sem_post); +STATIC_LIB_REQUIRE(_sem_timedwait); +STATIC_LIB_REQUIRE(_sem_trywait); +STATIC_LIB_REQUIRE(_sem_wait); STATIC_LIB_REQUIRE(_sigaction); STATIC_LIB_REQUIRE(_sigprocmask); STATIC_LIB_REQUIRE(_sigsuspend); +STATIC_LIB_REQUIRE(_sigtimedwait); +STATIC_LIB_REQUIRE(_sigwait); +STATIC_LIB_REQUIRE(_sigwaitinfo); +STATIC_LIB_REQUIRE(_spinlock); +STATIC_LIB_REQUIRE(_spinlock_debug); +STATIC_LIB_REQUIRE(_spinunlock); STATIC_LIB_REQUIRE(_thread_init_hack); -STATIC_LIB_REQUIRE(_wait4); -STATIC_LIB_REQUIRE(_write); -STATIC_LIB_REQUIRE(_writev); +STATIC_LIB_REQUIRE(_vfork); /* * These are needed when linking statically. All references within |