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
prev parent 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
* 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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.