Gnus development mailing list
 help / color / mirror / Atom feed
From: Stainless Steel Rat <ratinox@peorth.gweep.net>
Subject: Re: asynchronous backends
Date: 15 Apr 1997 23:21:34 -0400	[thread overview]
Message-ID: <wk912jmz41.fsf@peorth.gweep.net> (raw)
In-Reply-To: Ken Raeburn's message of 15 Apr 1997 21:23:17 -0400

-----BEGIN PGP SIGNED MESSAGE-----

>>>>> "KR" == Ken Raeburn <raeburn@cygnus.com> 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 <ratinox@peorth.gweep.net>    \ 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.


  reply	other threads:[~1997-04-16  3:21 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-04-14 13:16 Greg Stark
1997-04-14 20:52 ` Stainless Steel Rat
1997-04-16  1:23   ` Ken Raeburn
1997-04-16  3:21     ` Stainless Steel Rat [this message]
1997-04-20 20:08 ` Lars Magne Ingebrigtsen
1997-04-17 13:12 Greg Stark
1997-04-17 20:35 ` Stainless Steel Rat

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=wk912jmz41.fsf@peorth.gweep.net \
    --to=ratinox@peorth.gweep.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).