From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27966 invoked by alias); 29 Nov 2004 19:36:24 -0000 Mailing-List: contact src-cvs-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: src-cvs-owner@sources.redhat.com Received: (qmail 27940 invoked by uid 442); 29 Nov 2004 19:36:23 -0000 Date: Mon, 29 Nov 2004 19:36:00 -0000 Message-ID: <20041129193623.27939.qmail@sourceware.org> From: jimb@sourceware.org To: src-cvs@sources.redhat.com Subject: src/rda/unix ChangeLog lwp-pool.c lwp-pool.h t ... X-SW-Source: 2004-q4/txt/msg00060.txt.bz2 List-Id: CVSROOT: /cvs/src Module name: src Branch: jimb-rda-nptl-branch Changes by: jimb@sourceware.org 2004-11-29 19:36:23 Modified files: rda/unix : ChangeLog lwp-pool.c lwp-pool.h thread-db.c Log message: Move libthread_db event-based thread death logic from lwp-pool.c to thread-db.c, so the former can stay innocent of libthread_db's details, and limit itself to kernel behavior. * lwp-pool.h (lwp_pool_continue_and_drop): New declaration. (lwp_pool_thread_db_death_event, lwp_pool_thread_db_death_notified): Declarations deleted. * lwp-pool.c (enum death_state): Move to thread-db.c. (struct lwp): Delete 'death_state' member. (hash_find): Don't initialize it. (interesting_queue): Don't provide an initializer for it. (check_stop_pending): Don't abort if wait_and_handle didn't put the thread in a stopped state; that could be caused by kernel behavior (say, threads exiting silently), not necessarily a logic flaw in lwp-pool.c. (death_state_str, debug_report_death_state_change): Move to thread-db.c. (lwp_pool_thread_db_death_event, lwp_pool_thread_db_death_notified): Move to thread-db.c, and rename (see below). (check_for_exiting_nptl_lwp): Delete. (lwp_pool_continue_all, lwp_pool_continue_lwp): Don't call check_for_exiting_nptl_lwp. (lwp_pool_continue_and_drop_lwp): New function. * thread-db.c (enum death_state): Moved here from lwp-pool.c. (struct gdbserv_thread): New member death_state. (add_thread_to_list): Initialize it. (death_state_str, debug_report_death_state_change): Moved here from lwp-pool.c. (death_state_got_event, death_state_notified): Renamed from lwp_pool_thread_db_death_event and lwp_pool_thread_db_death_notified, and changed to update the death state of a 'struct gdbserv_thread' instead of a 'struct lwp'. (handle_thread_db_event): Call death_state_got_event instead of lwp_pool_thread_db_death_event, and death_state_notified instead of lwp_pool_thread_db_death_notified. (continue_thread): If the thread's death state indicates that it's going to disappear without further ado when continued, continue it with lwp_pool_continue_and_drop_lwp, not lwp_pool_continue_lwp. Patches: http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/rda/unix/ChangeLog.diff?cvsroot=src&only_with_tag=jimb-rda-nptl-branch&r1=1.36.2.17&r2=1.36.2.18 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/rda/unix/lwp-pool.c.diff?cvsroot=src&only_with_tag=jimb-rda-nptl-branch&r1=1.1.2.2&r2=1.1.2.3 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/rda/unix/lwp-pool.h.diff?cvsroot=src&only_with_tag=jimb-rda-nptl-branch&r1=1.1.2.2&r2=1.1.2.3 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/rda/unix/thread-db.c.diff?cvsroot=src&only_with_tag=jimb-rda-nptl-branch&r1=1.9.2.7&r2=1.9.2.8