From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/10716 Path: main.gmane.org!not-for-mail From: Stainless Steel Rat Newsgroups: gmane.emacs.gnus.general Subject: Re: asynchronous backends Date: 15 Apr 1997 23:21:34 -0400 Organization: The Happy Fun Ball Brigade Message-ID: References: NNTP-Posting-Host: coloc-standby.netfonds.no X-Trace: main.gmane.org 1035150538 25906 80.91.224.250 (20 Oct 2002 21:48:58 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sun, 20 Oct 2002 21:48:58 +0000 (UTC) Return-Path: Original-Received: from ifi.uio.no (0@ifi.uio.no [129.240.64.2]) by deanna.miranova.com (8.8.5/8.8.5) with SMTP id UAA13775 for ; Tue, 15 Apr 1997 20:50:19 -0700 Original-Received: from londo.prescientteh.com (londo.prescienttech.com [199.103.216.62]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Wed, 16 Apr 1997 05:27:54 +0200 Original-Received: from gkar.prescienttech.com (gkar.asds.com [111.17.19.1]) by londo.prescientteh.com (8.8.4/8.8.4) with ESMTP id XAA23536 for ; Tue, 15 Apr 1997 23:27:53 -0400 Original-Received: from peorth.gweep.net (gkar.prescienttech.com [111.17.19.1]) by gkar.prescienttech.com (8.8.4/8.8.4) with SMTP id XAA05103 for ; Tue, 15 Apr 1997 23:27:50 -0400 Original-To: "(ding)" X-Attribution: Rat In-Reply-To: Ken Raeburn's message of 15 Apr 1997 21:23:17 -0400 Original-Lines: 41 X-Mailer: Gnus v5.4.45/Emacs 19.34 Xref: main.gmane.org gmane.emacs.gnus.general:10716 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:10716 -----BEGIN PGP SIGNED MESSAGE----- >>>>> "KR" == Ken Raeburn writes: KR> This "just" means the multitasking has to be done at the application KR> (gnus elisp) level. Problem: there is no multitasking involved inside the Emacs kernel. There is a single process thread and a queue of functions to be evaled. Everything that happens in Emacs is pushed into this queue and is evaled in sequential order. This includes the process filters associated with asynchronous processes. What makes process filters appear to be multitasking is that they are automatically pushed into the queue by their associated I/O streams. When they are invoked while Emacs is "idle" their evaluation is practically transparent. That is, unless so much data is coming in through the I/O streams that the process filters are being pushed into the queue every cycle. If you want an example of this, turn on asynchronous prefetch in Gnus, set the prefetch number to something huge like 100, open a large newsgroup (at least as many articles as you have your prefetch set), and select the first article. Now 'n' to select the next and time how long it takes for that to happen (assuming Gnus does not barf on the data overload :). If you really want to multitask Gnus or Emacs in general you need to invoke a new instance of Emacs and let the operating system handle it. -----BEGIN PGP SIGNATURE----- Version: 2.6.3 Charset: noconv iQCVAwUBM1RFqp6VRH7BJMxHAQFzFgP/bZ2BGZ4jo3cGvmanb95S9ZiV2aaRdq7k ZkVsIfrH+r1e2lVCFFhHqplrwxhFnHW3oKstPmR2A624m5xRJMkUvs/3CZR+l9OT YKrSbtlPdhEcmb4LQWVPI1vsvHEXpbXzGpLxfMPbC98rPT9K0pKnTLBfes5zrA4Z khJ605uupvE= =baJx -----END PGP SIGNATURE----- -- Rat \ When not in use, Happy Fun Ball should be PGP Key: at a key server near you! \ returned to its special container and \ kept under refrigeration.