[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

open emacs-w3m processes

Here's something to check about your emacs-w3m that may not have
occurred to you.

BACKGROUND: I try to contribute to other emacs packages in addition to
emacs-w3m (recently 'thing-at-point-occur', flyspell-check, ivy/swiper,
post, and footnotes) and a few days ago I decided to temporarily join
the emacs-devel mailing list because I had missed email sent there
without cc'ing me. For me, the list is mostly static/noise, but just now
I see a thread that again made me feel good that I use emacs-w3m instead
of eww.

The forwarded mail at the end of this message is the most recent item on
the thread. For me, it was of concern because I often find that I have
over 50 w3m buffers open at a time, and probably open and close 100-200
a day. The linux machine on which I do this also has a curious problem
of reliably and totally crashing about once a month. So, when I read the
thread, I immediately checked if emacs-w3m was keeping processes open
unnecessarily. Thankfully, not. I currently have 32 emacs-w3m buffers
open and (list-processes) shows:

1] /usr/bin/w3m run *w3m-work*-... /dev/pts/15 /usr/bin/w3m
...-no-cookie -o follow_redirection=0 -o user_agent=Emacs-w3m/1.4.609
w3m/0.5.3+git20170102 -o accept_language=en;q=1.0 -dump_extra ...

2] ispell          run     --              --           aspell -a -m -B --encoding=utf-8

3] server          listen  --              --           (network server on /tmp/emacs1007/server)

4] server <169>    open    --              --           (network connection to t)

5] server <1>      open    --              --           (network connection to t)

Process number one turned out to be for a buffer that had never finished
loading. The 'aspell' process (#2) would be for this email I'm writing
to you, I think. Numbers 4 & 5 I suspect are for emacs-w3m connections,
but I'm not sure how to pursue checking. My plan is to reduce the number
of open w3m buffers (ie actually finish reading them) and then see what
happens when I delete the 'server <169>' process.


----- Forwarded message from Lars Ingebrigtsen <larsi@xxxxxxxx> -----

Date: Wed, 20 Dec 2017 08:29:04 +0100
From: Lars Ingebrigtsen <larsi@xxxxxxxx>
To: raman <raman@xxxxxxxxxx>
Cc: emacs-devel@xxxxxxx
Subject: Re: eww/url: www connections  left "open"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)

raman <raman@xxxxxxxxxx> writes:

> Most of the time, this is harmless and the connections go away ---
> except when they dont, and if more than a few of these hang around,
> then opening other URLs with EWW produces nothing. Killing those
> hanging connections with delete-process immediately gets EWW working
> again --- e.g. killing those connections with  the following loop:
> (cl-loop
>  for p in (process-list)
>  when (string-match "www" (process-name p))
>  do (delete-process p))

The list of connections is in the `url-http-open-connections' hash
table, so you can just loop over that to kill the connections.

And, yes, it's annoying that url-http.el doesn't deal with hanging
connections very well.

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

----- End forwarded message -----

CA45 09B5 5351 7C11 A9D1  7286 0036 9E45 1595 8BC0