From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: David Kastrup Newsgroups: gmane.emacs.devel Subject: Re: Tramp with global-auto-revert-mode. Date: 14 May 2004 23:00:01 +0200 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: References: <200405122254.i4CMsUj29445@raven.dms.auburn.edu> <200405122326.i4CNQk929511@raven.dms.auburn.edu> <200405132324.i4DNOBs14811@raven.dms.auburn.edu> <200405140008.i4E08lb14858@raven.dms.auburn.edu> <871xln4xmc.fsf-monnier+emacs@gnu.org> <87oeorb5pq.fsf@emptyhost.emptydomain.de> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1084569712 22511 80.91.224.253 (14 May 2004 21:21:52 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 14 May 2004 21:21:52 +0000 (UTC) Cc: Kai Grossjohann , Stefan Monnier , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Fri May 14 23:21:44 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 1BOk7k-0006Za-00 for ; Fri, 14 May 2004 23:21:44 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1BOk7k-00007l-00 for ; Fri, 14 May 2004 23:21:44 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.34) id 1BOk7O-00019j-U7 for emacs-devel@quimby.gnus.org; Fri, 14 May 2004 17:21:23 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.34) id 1BOk6w-00019A-Ft for emacs-devel@gnu.org; Fri, 14 May 2004 17:20:54 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.34) id 1BOjva-0006le-7i for emacs-devel@gnu.org; Fri, 14 May 2004 17:09:43 -0400 Original-Received: from [199.232.76.164] (helo=fencepost.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.34) id 1BOjmm-0004Et-GO for emacs-devel@gnu.org; Fri, 14 May 2004 17:00:05 -0400 Original-Received: from localhost ([127.0.0.1] helo=lola.goethe.zz) by fencepost.gnu.org with esmtp (Exim 4.34) id 1BOjmk-0006q3-MY; Fri, 14 May 2004 17:00:03 -0400 Original-To: storm@cua.dk (Kim F. Storm) In-Reply-To: Original-Lines: 49 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50 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:23426 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:23426 storm@cua.dk (Kim F. Storm) writes: > David Kastrup writes: > > > > be to have a global remote-busy-p flag that could be tested by > > > async handlers doing file operations - and simply do nothing (in the > > > present activation) if non-nil, i.e. > > > > > > (unless remote-busy-p > > > ...). > > > > Do nothing? How is the task accomplished then? > > I was referring to repeating timers running async handlers related > to things which are not really required to be run on every > activation -- such as auto-revert. Ah, ok. But this sounds like one might have some sort of outstanding operations (like saving buffers, auto-reverting or something) where a later entry into the queue would just take a look of whether somebody else is doing something similar or conflicting or overriding or whatever, try to merge the operations somehow and consider both finished together when they get done. For example, if we have creation/auto-save of a file pending in the queue, and then comes deletion after it, we can just consider the creation/save finished. I don't think one needs to bother about atomicity of requests: only operations from different threads/timers/whatever can manage to actually enter stuff into the queues, so there was no guarantee that they were entered in a specific order, and you can just work them off in any old order you like. > A completely different approach would be to NOT run timers from a > timer handler (which may happen because timers are too slow to > execute). > > To me, this spells troubles anyway... > > I have installed a change to avoid running timers inside a timer. > There may be problems with that change, but let's see if it has a > positive effect on the current problems. If a timer does something like accept-process-output, stopping other timers would probably be a mistake. We probably should not run one and the same timer while it has not yet finished, but freeze different ones? -- David Kastrup, Kriemhildstr. 15, 44793 Bochum