unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Lars Ingebrigtsen <larsi@gnus.org>
To: dick <dick.r.chiang@gmail.com>
Cc: 49897@debbugs.gnu.org
Subject: bug#49897: 28.0.50; [PATCH] Make sense of url-retrieve-synchronously
Date: Fri, 06 Aug 2021 15:47:21 +0200	[thread overview]
Message-ID: <87a6luadna.fsf@gnus.org> (raw)
In-Reply-To: <87pmuqiusz.fsf@dick> (dick's message of "Fri, 06 Aug 2021 09:09:32 -0400")

dick <dick.r.chiang@gmail.com> writes:

> I'm sorry to say the rewrite doesn't solve bug#49861 (hanging http GETs) for
> me.  The process filter `url-http-generic-filter` just isn't seeing any data
> from the remote site, and given the frequency of occurrence, it's not the
> remote site's fault.  There's something off about the C-level network
> descriptor handling for process filters.

Yes, people have been poking away at the process.c code again and again
to try to fix these hangs, and they usually seem to be able to fix their
own use case...  it's pretty maddening.  It's always impossible for
anybody else to reproduce the problems, which doesn't help.

It's not that network connections are complex in themselves, but the
Emacs process stuff has grown from a viewpoint of "run a command and
output the data in the displayed buffer", and that's grown into real
network connections, with coding systems applied and filters and...

(And then TLS was added, and then there was that rewrite to make it all
asynchronous, which complicated things even further.)

So what we have is a slow, convoluted mess in this area, which is a
shame.

I have for years wanted to redo the network stuff (note -- note the
process stuff; they're separate issues) to be efficient and sane.  That
is: You can push octets to the network, and you get octets back, stashed
into a unibyte buffer only.  And then it's up to the application level,
not the network level, to interpret the octets.

But it's that problem of finding the time...

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





      reply	other threads:[~2021-08-06 13:47 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-05 16:46 bug#49897: 28.0.50; [PATCH] Make sense of url-retrieve-synchronously dick.r.chiang
2021-08-06 11:27 ` Lars Ingebrigtsen
2021-08-06 12:15   ` dick
2021-08-06 13:09   ` dick
2021-08-06 13:47     ` Lars Ingebrigtsen [this message]

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=87a6luadna.fsf@gnus.org \
    --to=larsi@gnus.org \
    --cc=49897@debbugs.gnu.org \
    --cc=dick.r.chiang@gmail.com \
    /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.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).