From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andreas Schwab Newsgroups: gmane.emacs.bugs Subject: bug#18851: 24.4; emacs cannot be started if the current directory has been removed Date: Wed, 29 Oct 2014 16:39:22 +0100 Message-ID: References: <87h9ypiqmm.fsf@xvii.vinc17.org> <8k61f398u4.fsf@fencepost.gnu.org> <20141029012802.GS4400@xvii.vinc17.org> <83y4rz1qmj.fsf@gnu.org> <20141029080939.GT4400@xvii.vinc17.org> <83sii70xb7.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1414597232 13061 80.91.229.3 (29 Oct 2014 15:40:32 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 29 Oct 2014 15:40:32 +0000 (UTC) Cc: Vincent Lefevre , 18851@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Oct 29 16:40:24 2014 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XjVMB-0002O0-5N for geb-bug-gnu-emacs@m.gmane.org; Wed, 29 Oct 2014 16:40:19 +0100 Original-Received: from localhost ([::1]:46920 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XjVMA-0005K2-Cu for geb-bug-gnu-emacs@m.gmane.org; Wed, 29 Oct 2014 11:40:18 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:38876) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XjVM1-0005JV-Pa for bug-gnu-emacs@gnu.org; Wed, 29 Oct 2014 11:40:15 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XjVLw-0005qw-FG for bug-gnu-emacs@gnu.org; Wed, 29 Oct 2014 11:40:09 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:46832) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XjVLw-0005qR-Cs for bug-gnu-emacs@gnu.org; Wed, 29 Oct 2014 11:40:04 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1XjVLv-0003XO-Ls for bug-gnu-emacs@gnu.org; Wed, 29 Oct 2014 11:40:03 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Andreas Schwab Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 29 Oct 2014 15:40:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 18851 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 18851-submit@debbugs.gnu.org id=B18851.141459716713544 (code B ref 18851); Wed, 29 Oct 2014 15:40:03 +0000 Original-Received: (at 18851) by debbugs.gnu.org; 29 Oct 2014 15:39:27 +0000 Original-Received: from localhost ([127.0.0.1]:38929 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XjVLK-0003WL-TF for submit@debbugs.gnu.org; Wed, 29 Oct 2014 11:39:27 -0400 Original-Received: from cantor2.suse.de ([195.135.220.15]:46849 helo=mx2.suse.de) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XjVLI-0003WC-Di for 18851@debbugs.gnu.org; Wed, 29 Oct 2014 11:39:25 -0400 Original-Received: from relay1.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 356ABABFA; Wed, 29 Oct 2014 15:39:23 +0000 (UTC) X-Yow: Hand me a pair of leather pants and a CASIO keyboard -- I'm living for today! In-Reply-To: <83sii70xb7.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 29 Oct 2014 16:23:24 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:95252 Eli Zaretskii writes: >> > > Note that the current directory can also be removed after Emacs >> > > is started, so I expect that Emacs already supports cases like >> > > that. >> > >> > No, it does not. Either the OS leaves the directory in existence >> > until Emacs exits, or the OS prevents you from removing it. >> >> Linux does neither. > > AFAIK, GNU/Linux does the former. The directory is not physically > removed until the last process that has an open file descriptor for it > closes that descriptor. Any attempts to reference that directory for > obtaining a new descriptor will get ENOENT, i.e. the OS pretends that > the directory doesn't exist. But existing descriptors are valid, and > can be used as usual. "As usual" is an exaggeration. Basically the only valid operations on it are fstat and fchdir. Any attempt at adding an entry to it (via openat) will be rejected. Andreas. -- Andreas Schwab, SUSE Labs, schwab@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different."