Gnus development mailing list
 help / color / mirror / Atom feed
From: David Engster <deng@randomsample.de>
To: Lars Ingebrigtsen <larsi@gnus.org>
Cc: Eric Abrahamsen <eric@ericabrahamsen.net>,  ding@gnus.org
Subject: Re: new wifi connection = nntp timeout = Emacs restart?
Date: Fri, 01 May 2020 11:46:48 +0200	[thread overview]
Message-ID: <87mu6sc7hz.fsf@randomsample> (raw)
In-Reply-To: <87y2qcy2vb.fsf@gnus.org> (Lars Ingebrigtsen's message of "Fri, 01 May 2020 01:23:36 +0200")

> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>
>> Oh I see. I was assuming that adding connection closing to
>> nnimap-keepalive would make the NOOP-prepend mechanism unnecessary.
>> Seems like we'd only need one of the two, so long as whatever it was
>> came with teeth (closing the connection).
>
> nnimap-keepalive-connection-drop doesn't help with the common "I just
> woke my laptop up and now `g' hangs" situation.

Another possiblity: Instead of trying to detect dead connections, let's
try to get notified when networking has changed and react accordingly. I
think this is what those "apps" do on mobiles?

On GNU/Linux my guess is the lowest common denominator nowadays for
doing stuff like this is systemd and DBus?

It's actually surprisingly easy to do this in Emacs if you know what to
fill in:

(require 'dbus)

(defun my-dbus-handler (interface-name values novals)
  (message "Change registered on: %s" interface-name)
  (message "Changed values: %s" (prin1-to-string values))
  (message "Changed without value: %s" (prin1-to-string novals)))

(dbus-register-signal :system
		      "org.freedesktop.systemd1"
		      "/org/freedesktop/systemd1/unit/networking_2eservice"
		      "org.freedesktop.DBus.Properties"		      
		      "PropertiesChanged"
		      'my-dbus-handler)

Now do "systemctl restart networking.service" and watch all these spiffy
messages. This is on Debian 10, I'm hoping it's at least similar on
other systems? You can inspect this stuff with 'busctl', for instance:

busctl tree org.freedesktop.systemd1

busctl introspect org.freedesktop.systemd1 /org/freedesktop/systemd1/unit/networking_2eservice

I have no idea if this is "The Best Way", probably not. Also, I'm not
seeing anything on resuming, but maybe there's another path for that...?
Or maybe I'm not letting my laptop sleep long enough?

-David


  reply	other threads:[~2020-05-01  9:48 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-16 17:37 Eric Abrahamsen
2020-04-17 11:46 ` Eric S Fraga
2020-04-17 12:20   ` Gijs Hillenius
2020-04-17 12:26     ` Andreas Schwab
2020-04-17 14:51       ` Eric Abrahamsen
2020-04-17 15:38         ` David Engster
2020-04-17 16:35           ` Eric Abrahamsen
2020-04-19  6:37 ` Christian Barthel
2020-04-19 17:32   ` Eric Abrahamsen
2020-04-19 18:02     ` Robert Pluim
2020-04-19 21:23       ` Eric Abrahamsen
2020-04-19 22:10       ` Eric Abrahamsen
2020-04-20  4:54         ` Eric Abrahamsen
2020-04-20  7:40         ` Andreas Schwab
2020-04-20 15:45           ` Eric Abrahamsen
2020-04-20 15:54             ` Robert Pluim
2020-04-20 18:24               ` Eric Abrahamsen
2020-04-21  8:36                 ` Alberto Luaces
2020-04-21 15:53                   ` Eric Abrahamsen
2020-04-22  7:37                     ` Alberto Luaces
2020-04-22  8:28                       ` Alberto Luaces
2020-04-30  5:26       ` Lars Ingebrigtsen
2020-04-30 17:34         ` Eric Abrahamsen
2020-04-30 21:49           ` Lars Ingebrigtsen
2020-04-30 22:11             ` Eric Abrahamsen
2020-05-04 12:53               ` Robert Pluim
2020-05-04 13:13                 ` Andreas Schwab
2020-05-04 13:33                   ` Robert Pluim
2020-05-04 14:35                     ` Andreas Schwab
2020-05-04 14:46                       ` Robert Pluim
2020-05-04 15:10                         ` Andreas Schwab
2020-05-04 16:29                           ` Robert Pluim
2020-05-04 14:51                 ` Lars Ingebrigtsen
2020-05-04 16:13                   ` Robert Pluim
2020-05-04 16:36                     ` Eric Abrahamsen
2020-05-04 17:21                       ` Robert Pluim
2020-05-04 18:01                         ` Lars Ingebrigtsen
2020-05-05  7:41                           ` new wifi connection = nntp timeout = Emacs restart?, " Robert Pluim
2020-05-05  8:19                             ` Lars Ingebrigtsen
2020-05-05 11:55                               ` Robert Pluim
2020-05-19 13:34                                 ` Lars Ingebrigtsen
2020-05-19 13:36                                 ` Lars Ingebrigtsen
2020-05-04 18:47                         ` Eric Abrahamsen
2020-05-04 15:38                 ` Eric Abrahamsen
2020-05-04 16:28                   ` Robert Pluim
2020-04-30 17:38         ` Eric Abrahamsen
2020-04-30 21:51           ` Lars Ingebrigtsen
2020-04-30 22:26             ` Eric Abrahamsen
2020-04-30 22:28               ` Lars Ingebrigtsen
2020-04-30 22:39                 ` Eric Abrahamsen
2020-04-30 22:55                   ` Lars Ingebrigtsen
2020-04-30 23:13                     ` Eric Abrahamsen
2020-04-30 23:23                       ` Lars Ingebrigtsen
2020-05-01  9:46                         ` David Engster [this message]
2020-05-01 10:35                           ` David Engster
2020-05-01 17:29                             ` Eric Abrahamsen
2020-05-01 20:51                               ` David Engster
2020-05-02  0:33                                 ` Eric Abrahamsen
2020-05-02 10:20                                   ` David Engster
2020-05-02 15:13                                     ` Eric Abrahamsen
2020-05-02 16:50                                       ` David Engster
2020-05-02 19:07                                         ` Eric Abrahamsen
2020-05-19 13:23                                           ` Lars Ingebrigtsen
2020-05-21  0:45                                             ` Eric Abrahamsen
2020-06-26  9:38                                               ` Lars Ingebrigtsen
2020-08-21 20:47                             ` Eric Abrahamsen
2020-05-01 18:06                         ` Eric Abrahamsen

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=87mu6sc7hz.fsf@randomsample \
    --to=deng@randomsample.de \
    --cc=ding@gnus.org \
    --cc=eric@ericabrahamsen.net \
    --cc=larsi@gnus.org \
    /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).