diff options
author | Roland McGrath <roland@hack.frob.com> | 2014-11-18 11:03:00 -0800 |
---|---|---|
committer | Roland McGrath <roland@hack.frob.com> | 2014-11-18 11:03:00 -0800 |
commit | 32fed10f0f83db9f4ff143405505cc903964a1fe (patch) | |
tree | dbcf8c6196a33d142927205e9591f2e2ce43f807 /ChangeLog | |
parent | 107a5bf085f5c4ef8c28266a34d476724cfc3475 (diff) | |
download | glibc-32fed10f0f83db9f4ff143405505cc903964a1fe.zip glibc-32fed10f0f83db9f4ff143405505cc903964a1fe.tar.gz glibc-32fed10f0f83db9f4ff143405505cc903964a1fe.tar.bz2 |
NPTL: Refactor createthread.c
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 24 |
1 files changed, 24 insertions, 0 deletions
@@ -1,3 +1,27 @@ +2014-11-18 Roland McGrath <roland@hack.frob.com> + + * nptl/createthread.c: Add proper top-line comment. + (do_clone): Folded into ... + (create_thread): ... here. Take new arguments STOPPED_START and + THREAD_RAN. Always set PD->stopped_start to something here. Don't + increment __nptl_threads, do event-reporting logic, do + CHECK_THREAD_SYSINFO, or set THREAD_SELF->header.multiple_threads + here. Set *THREAD_RAN after ARCH_CLONE call succeeds. Don't do any + resource cleanup if sched_setaffinity or sched_setscheduler fails, + just send SIGCANCEL. + * nptl/pthread_create.c: Forward-declare create_thread before + including createthread.c. + (start_thread): Use new macro START_THREAD_DEFN to replace defining + declaration, and new macro START_THREAD_SELF to replace argument. + Remove return statement. + (report_thread_creation): New function. + (__pthread_create_2_1): Use it. Do TD_CREATE reporting, + synchronization logic, and __nptl_nthreads increment here, around + calling create_thread. Do CHECK_THREAD_SYSINFO and initialize + PD->parent_cancelhandling here, before create_thread. When + create_thread fails, do __nptl_nthreads decrement, setxid_futex wake, + __deallocate_stack, and ENOMEM translation here. + 2014-11-18 Joseph Myers <joseph@codesourcery.com> [BZ #17616] |