commit-hurd
[Top][All Lists]
Advanced

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

hurd-l4/libpthread sysdeps/l4/hurd/pt-thread-ha...


From: Neal H. Walfield
Subject: hurd-l4/libpthread sysdeps/l4/hurd/pt-thread-ha...
Date: Sat, 16 Aug 2008 09:37:23 +0000

CVSROOT:        /sources/hurd
Module name:    hurd-l4
Changes by:     Neal H. Walfield <neal> 08/08/16 09:37:23

Modified files:
        libpthread/sysdeps/l4/hurd: pt-thread-halt.c pt-thread-alloc.c 
                                    pt-sysdep.h 
        libpthread/pthread: pt-join.c pt-internal.h pt-exit.c 
                            pt-dealloc.c pt-create.c pt-alloc.c 
        libpthread     : ChangeLog 
Added files:
        libpthread/sysdeps/l4/hurd: pt-thread-dealloc.c 

Log message:
        2008-08-16  Neal H. Walfield  <address@hidden>
        
                * pthread/pt-alloc.c: Don't include <atomic.h>.
                (__pthread_free_threads): Change to a struct __pthread *.
                (__pthread_free_threads_lock): New variable.
                (__pthread_alloc): When looking for a TCB to reuse, iterate over
                __pthread_free_threads taking the first for which the STATE 
field
                is PTHREAD_TERMINATED.  When reusing a TCB, first call
                __pthread_thread_halt on it.
                * pthread/pt-dealloc.c: Don't include <atomic.h>.
                (__pthread_free_threads): Change to a struct __pthread *.
                (__pthread_free_threads_lock): New declaration.
                (__pthread_dealloc): Enqueue PTHREAD on __PTHREAD_FREE_THREADS.
                Set PTHREAD->STATE to PTHREAD_TERMINATED after everything else.
                * pthread/pt-join.c (pthread_join): Call __pthread_thread_halt
                before destroying the thread.  When destroying the thread, call
                __pthread_thread_dealloc on it.
                * pthread/pt-exit.c (pthread_exit): Call __pthread_dealloc only 
if
                the thread is detached and then as the last thing we do before
                calling __pthread_thread_halt.
                * pthread/pt-internal.h (__pthread_thread_halt): Remove argument
                NEED_DEALLOC.  Update users.
                * sysdeps/l4/hurd/pt-thread-halt.c (__pthread_thread_halt): 
Remove
                argument need_dealloc.  Move the deallocation code from this
                file...
                * sysdeps/l4/hurd/pt-thread-dealloc.c: ... to this new file.
                * sysdeps/l4/hurd/pt-sysdep.h (PTHREAD_SYSDEP_MEMBERS): Add 
field
                have_kernel_resources.
                * sysdeps/l4/hurd/pt-thread-alloc.c (__pthread_thread_alloc): If
                THREAD->HAVE_KERNEL_RESOURCES is true, just return.  After
                allocating the resources, set THREAD->HAVE_KERNEL_RESOURCES to
                true.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/libpthread/sysdeps/l4/hurd/pt-thread-halt.c?cvsroot=hurd&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/libpthread/sysdeps/l4/hurd/pt-thread-alloc.c?cvsroot=hurd&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/libpthread/sysdeps/l4/hurd/pt-sysdep.h?cvsroot=hurd&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/libpthread/sysdeps/l4/hurd/pt-thread-dealloc.c?cvsroot=hurd&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/libpthread/pthread/pt-join.c?cvsroot=hurd&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/libpthread/pthread/pt-internal.h?cvsroot=hurd&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/libpthread/pthread/pt-exit.c?cvsroot=hurd&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/libpthread/pthread/pt-dealloc.c?cvsroot=hurd&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/libpthread/pthread/pt-create.c?cvsroot=hurd&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/libpthread/pthread/pt-alloc.c?cvsroot=hurd&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/libpthread/ChangeLog?cvsroot=hurd&r1=1.48&r2=1.49




reply via email to

[Prev in Thread] Current Thread [Next in Thread]