From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: michael.cadilhac@lrde.org (=?iso-8859-1?Q?Micha=EBl?= Cadilhac) Newsgroups: gmane.emacs.devel Subject: Re: delete-process bug Date: Thu, 25 May 2006 17:17:13 +0200 Organization: Epita/LRDE Message-ID: <87wtca6sna.fsf@lrde.org> References: <87k69eyddj.fsf@lrde.org> <87fyj0r41g.fsf@lrde.org> <20060524112846.GA12046@agmartin.aq.upm.es> <87bqtmjrsh.fsf_-_@lrde.org> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0590282789==" X-Trace: sea.gmane.org 1148570263 17023 80.91.229.2 (25 May 2006 15:17:43 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 25 May 2006 15:17:43 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu May 25 17:17:38 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1FjHaP-000879-Da for ged-emacs-devel@m.gmane.org; Thu, 25 May 2006 17:17:19 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FjHaO-00020U-R6 for ged-emacs-devel@m.gmane.org; Thu, 25 May 2006 11:17:16 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1FjHaC-00020O-So for emacs-devel@gnu.org; Thu, 25 May 2006 11:17:04 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1FjHaB-00020C-CD for emacs-devel@gnu.org; Thu, 25 May 2006 11:17:04 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FjHaB-000209-6b for emacs-devel@gnu.org; Thu, 25 May 2006 11:17:03 -0400 Original-Received: from [62.39.139.2] (helo=kualalumpur.lrde.epita.fr) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA:32) (Exim 4.52) id 1FjHer-0002US-Sg for emacs-devel@gnu.org; Thu, 25 May 2006 11:21:54 -0400 Original-Received: from mahaena.lrde.epita.fr ([192.168.101.66] helo=mahaena.lrde) by kualalumpur.lrde.epita.fr with esmtp (Exim 4.50) id 1FjHa9-0003tr-Ll; Thu, 25 May 2006 17:17:01 +0200 Original-To: Stefan Monnier Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAElBMVEVWPh+Tai+5r5YKBAEU CQQzGAtiq7gjAAACR0lEQVQ4jW2UzW7lIAyFzVW8BzTZX5DmCZLuU2H2pMXv/ypzbK7aSh2kRCRf /HNsE0q7Sg+RQ7JFKaqtrRNAl5AIIKe6D5DBqgbmUAe5hBI1wIRFAHjeM0RKtZi7XVVEpb0BSNfA IddChChT5DildSLWOWhY5IEItMnncZgFcUAc/5jjwCMsDosRNdfKPDTFEdVBW8C+RebDb4N5Orio RhM1+11IJyx0ng2+LryFHBMPDQDYHrY6IfGuU3ouiXTQNE8LIJDKOWpNxERTFrggQwRPd7USUsTW fJ0XbR3bdj5KgBYy4SACpxDeUYEUAzLmtJ1iIrD2gczPq8Qomjhsh/RjGIgKIO8p7NITjwlx7WID nsnQe5NeuTvoBpi8LX6vLLOh5icjOHqBypgnuSp7M+RE1agbQKHQr5E2z1WObhYW4gMqeGQL7joM jCf2DxSk5ApADSYHfFF4igNfJZL1z0GKP0FN02s4XiDXr7V5P94W6I9v8MfBOQDmfwAaVYt+x8Da v4DJvX8BAdin3Knm5yMZYAO4ABDkDniZLLfi4P40gP1F0TPGZOu0CGwA1lcowxwlGy6A9705mD0V jHCxwVZT/hYdRJVUGZNlx6l7ScQBTluof6Wj6bsPYlvpwoTvXFD9gHPn2TZPF3ntI2ecxVrW5MrV XiCie5EeNa7BlWu/HNSkprDUva163PHxAv5jyGV7gVzyAghSKOTnat85UIYFICXbD2NV9rRiv0BS tKQsg6OHH4A15F1WW+UHKHHa32h6aPnAm3/pUcWp+WYnTQAAAABJRU5ErkJggg== In-Reply-To: (Stefan Monnier's message of "Thu, 25 May 2006 10:55:08 -0400") User-Agent: Gnus/5.110006 (No Gnus v0.6) Emacs/22.0.50 (gnu/linux) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:55282 Archived-At: --===============0590282789== Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha1; protocol="application/pgp-signature" --=-=-= Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Stefan Monnier writes: >> This is not really due to my patch. However, it shows a real race >> condition in process management of Emacs: > [...] >> After an hour of debugging, I can propose a small change that fixes >> this bug and lets no room for any other race condition of that kind, >> AFAICT. > [...] >> + * process.c (Fdelete_process): Wait for process termination to >> + avoid `sigchld_handler' to consider the process to be synchronous. > > I don't think it's a good idea. The process might not die in response to > delete-process, so we would end up waiting "indefinitely". Well, I copied the behavior of call_process, and tried to minimize the patch. However, I'm interested in knowing when a process doesn't answer a SIGKILL? I thought it was a non-ignorable signal. > I think in order to avoid such race-conditions without waiting for the > process's death, we'll need to remember those processes that were deleted > but aren't dead yet. Of course, it goes against the docstring of > `delete-process' which says "forget about it immediately". But we don't > need to keep the whole process around; just the PID should be enough, kept > in a list of "deleted but not dead" PIDs. See sample patch below. > Actually, I did try such a solution, but I wasn't sure where the elements of that list should be deleted (removed? ;-)) ; I'm not very comfortable with making such things in a sighandler. =2D-=20 | Micha=EBl `Micha' Cadilhac | Le copillage-collage = | | Epita/LRDE Promo 2007 | tue le programmeur. = | | http://www.lrde.org/~cadilh_m | -- Dictons LRDE = | `-- - JID: micha@amessage.be --' - -= -' --=-=-= Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) iD8DBQFEdcp7ZYNf4qobZ7kRAiXEAJ9vQUZH+BZwYuwCXlRSbXLcQyI1dQCfXFaK uHHjUX5uzy4jE0z/PHlF9/4= =W5zh -----END PGP SIGNATURE----- --=-=-=-- --===============0590282789== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel --===============0590282789==--