Re: cvs commit: src/lib/libthread_xu Makefile pthread.map src/li

看板DFBSD_commit作者時間21年前 (2005/02/01 21:33), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/24 (看更多)
There are still some serious problems, most because missing kernel features to support 1:1 threading, problems: 1. Each thread has its pid, and getpid returns different value for every thread. 2. Signal is broken. there is no feature to send signal to a process as a whole, it does not conform with POSIX. SIGSTOP and SIGCONT does not work correctly. 3. A crashed thread should bring down whole process, but it is not. 4. A thread calls exit() should remove other threads in same process, but it is not, there should a syscall to exit a single thread or a whole process. 5. A thread calls pthread_exit(), but userland does not if the thread memory can be reused because there is no flag indicated by kernel that the thread is exited, see FreeBSD's kse_exit() or thr_exit(). 6. There is no kernel interface to manage TLS descriptor, either use GDT or LDT, but there is no allocation code in kernel which can resolve confliction among libraries using LDT at same time. 7. No __thread keyword style's tls support in rtld. David Xu wrote: > davidxu 2005/02/01 04:38:27 PST > > DragonFly src repository > > Added files: > lib/libthread_xu Makefile pthread.map > lib/libthread_xu/arch Makefile.inc > lib/libthread_xu/arch/alpha Makefile.inc > lib/libthread_xu/arch/alpha/alpha pthread_md.c > lib/libthread_xu/arch/alpha/include pthread_md.h > lib/libthread_xu/arch/amd64 Makefile.inc > lib/libthread_xu/arch/amd64/amd64 pthread_md.c > lib/libthread_xu/arch/amd64/include pthread_md.h > lib/libthread_xu/arch/i386 Makefile.inc > lib/libthread_xu/arch/i386/i386 pthread_md.c > lib/libthread_xu/arch/i386/include pthread_md.h > lib/libthread_xu/sys Makefile.inc thr_error.c > lib/libthread_xu/thread Makefile.inc thr_attr.c thr_barrier.c > thr_barrierattr.c thr_cancel.c > thr_clean.c thr_concurrency.c > thr_cond.c thr_condattr.c thr_create.c > thr_detach.c thr_equal.c thr_exit.c > thr_fork.c thr_getprio.c > thr_getschedparam.c thr_info.c > thr_init.c thr_join.c thr_kern.c > thr_kill.c thr_list.c thr_main_np.c > thr_multi_np.c thr_mutex.c > thr_mutex_prioceiling.c > thr_mutex_protocol.c thr_mutexattr.c > thr_once.c thr_printf.c thr_private.h > thr_pspinlock.c thr_resume_np.c > thr_rtld.c thr_rwlock.c > thr_rwlockattr.c thr_self.c thr_sem.c > thr_seterrno.c thr_setprio.c > thr_setschedparam.c thr_sig.c > thr_single_np.c thr_spec.c > thr_spinlock.c thr_stack.c > thr_suspend_np.c thr_switch_np.c > thr_symbols.c thr_syscalls.c > thr_umtx.c thr_umtx.h thr_yield.c > Log: > Import initial version of 1:1 pthread library. >
文章代碼(AID): #11_uKN00 (DFBSD_commit)
討論串 (同標題文章)
完整討論串 (本文為第 1 之 24 篇):
文章代碼(AID): #11_uKN00 (DFBSD_commit)