From owner-cvs-all@FreeBSD.ORG Sun Apr 10 02:31:25 2005 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2052316A4CE; Sun, 10 Apr 2005 02:31:25 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E996043D46; Sun, 10 Apr 2005 02:31:24 +0000 (GMT) (envelope-from das@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3A2VOmd000472; Sun, 10 Apr 2005 02:31:24 GMT (envelope-from das@repoman.freebsd.org) Received: (from das@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3A2VO4r000471; Sun, 10 Apr 2005 02:31:24 GMT (envelope-from das) Message-Id: <200504100231.j3A2VO4r000471@repoman.freebsd.org> From: David Schultz Date: Sun, 10 Apr 2005 02:31:24 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/kern kern_sig.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Apr 2005 02:31:25 -0000 das 2005-04-10 02:31:24 UTC FreeBSD src repository Modified files: sys/kern kern_sig.c Log: Suspend all other threads in the process while generating a core dump. The main reason for doing this is that the ELF dump handler expects the thread list to be fixed while the dump header is generated, so an upcall that occurs at the wrong time can lead to buffer overruns and other Bad Things. Another solution would be to grab sched_lock in the ELF dump handler, but we might as well single-thread, since the process is about to die. Furthermore, I think this should ensure that the register sets in the core file are sequentially consistent. Revision Changes Path 1.304 +11 -1 src/sys/kern/kern_sig.c