From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Kai Grossjohann Newsgroups: gmane.emacs.devel Subject: Re: [gmane.emacs.devel] Tramp with global-auto-revert-mode. Date: Sat, 29 May 2004 12:17:21 +0200 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <86hdtzr0zy.fsf@rumba.de.uu.net> References: <86y8ngbx1e.fsf@rumba.de.uu.net> <200405270253.i4R2rxf23193@raven.dms.auburn.edu> <86isegimk1.fsf@rumba.de.uu.net> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1085825976 27396 80.91.224.253 (29 May 2004 10:19:36 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sat, 29 May 2004 10:19:36 +0000 (UTC) Cc: Kai Grossjohann , Luc Teirlinck , Stefan Monnier , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Sat May 29 12:19:28 2004 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1BU0w4-0000X0-00 for ; Sat, 29 May 2004 12:19:28 +0200 Original-Received: from lists.gnu.org ([199.232.76.165]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1BU0w4-00022R-00 for ; Sat, 29 May 2004 12:19:28 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1BU0w8-0002lR-Um for emacs-devel@quimby.gnus.org; Sat, 29 May 2004 06:19:32 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1BU0w0-0002l3-4w for emacs-devel@gnu.org; Sat, 29 May 2004 06:19:24 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.33) id 1BU0vy-0002kj-Br for emacs-devel@gnu.org; Sat, 29 May 2004 06:19:22 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1BU0vy-0002kZ-2p for emacs-devel@gnu.org; Sat, 29 May 2004 06:19:22 -0400 Original-Received: from [195.129.12.212] (helo=emr1.eu.uu.net) by monty-python.gnu.org with esmtp (Exim 4.34) id 1BU0vH-0003X8-Kg for emacs-devel@gnu.org; Sat, 29 May 2004 06:18:40 -0400 Original-Received: from imr0.eu.uu.net ([146.188.96.37]) by emr1.eu.uu.net with esmtp id 1BU0u7-0000Bl-UO; Sat, 29 May 2004 10:17:27 +0000 Original-Received: from localhost ([127.0.0.1]) by imr0.eu.uu.net with esmtp id 1BU0u7-0002Ny-Gj; Sat, 29 May 2004 10:17:27 +0000 Original-Received: from lgen1.lnd.ops.eu.uu.net ([62.191.128.29] helo=amr.eu.uu.net) by imr0.eu.uu.net with esmtp id 1BU0u7-0002Ns-16; Sat, 29 May 2004 10:17:27 +0000 Original-Received: from rumba.de.uu.net.mci.com (pD9E1E786.dip.t-dialin.net [217.225.231.134]) by amr.eu.uu.net (8.12.10/8.12.10) with ESMTP id i4TAHMMc026832; Sat, 29 May 2004 10:17:24 GMT SSL encryption with TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 SMTP AUTH used user=kgrossjo AuthMechanisms=LOGIN (envelope-from kai@emptydomain.de) Original-To: storm@cua.dk (Kim F. Storm) In-Reply-To: (Kim F. Storm's message of "29 May 2004 01:44:46 +0200") User-Agent: Gnus/5.110003 (No Gnus v0.3) Emacs/21.3.50 (gnu/linux) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.4 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:24150 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:24150 storm@cua.dk (Kim F. Storm) writes: > Kai Grossjohann writes: > >> storm@cua.dk (Kim F. Storm) writes: >> >> > I think we have a pretty good understanding of what the problems are >> > in this case: GC problems have been fixed, so it remains to fix that >> > tramp is not reentrant. >> >> I would like to discuss the solution with Michael, but I can think of >> the following solutions: >> >> (a) Make Tramp barf on reentrant calls. > > That would probably break some code which does eg. file-exists-p > in a timer hook or some such. So it is not an option. I agree with Stefan: that code breaks now anyway. >> (b) Make Tramp wait on reentrant calls (by implementing a queue or >> somesuch). > > I prefer this (because there are problems with the alternatives). Michael wants to work on this, I think. I'm not sure whether there would be problems with this idea: it would tend to cause timers to take longer to process (because they have to wait on the "main" Emacs thread), and the "main" Emacs thread might have to wait longer on the timers. This effect could be benign or bad, I don't know. >> (c) Implement concurrency for reentrant calls (by opening more than >> one connection to the remote end). > > How do you solve the problem with having to enter passwords or other > stuff when invoked from a hook ... The idea is to cache them. Multiple connections to the same host are useful anyway, e.g. for async shell commands. Also, Tramp could then reopen the connection without pestering the user. > and would you start a new thread for every reentant call, that > sounds like a lot of processes? The idea is to keep the connections open (at least for a while), and to reuse them. > Also, tramp is slow at opening a connection (but maybe it can skip > some initial checks when it already has another connection to the > same host?). Remembering the results of the initial checks is also on the todo list. Kai