GNU bug report logs - #58218
29.0.50; url-retrieve-synchronously with timeout causes process-query-on-exit

Previous Next

Package: emacs;

Reported by: Phil Sainty <psainty <at> orcon.net.nz>

Date: Sat, 1 Oct 2022 10:56:01 UTC

Severity: normal

Found in version 29.0.50

Fixed in version 29.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Phil Sainty <psainty <at> orcon.net.nz>
Cc: 58218 <at> debbugs.gnu.org
Subject: bug#58218: 29.0.50; url-retrieve-synchronously with timeout causes process-query-on-exit
Date: Sat, 01 Oct 2022 14:44:43 +0300
> Date: Sat, 01 Oct 2022 23:55:05 +1300
> From: Phil Sainty <psainty <at> orcon.net.nz>
> 
> If you use the TIMEOUT argument to `url-retrieve-synchronously' and the
> response is not obtained within that duration, then the process created
> for that request causes query-on-exit behaviour.  I can reproduce this
> in all the Emacs builds I have, including this 29.0.50 build.
> 
> 
> ;; With a short timeout causing the request to be aborted:
> 
> (url-retrieve-synchronously "http://www.example.com" nil nil 0.01)
> nil
> 
> M-x list-processes
> www.example.com -- open -- -- Main (network connection to 
> www.example.com:80)
> 
> C-x C-c
> Active processes exist; kill them and exit anyway? (yes or no)
> 
> 
> 
> ;; With a long timeout (or a nil timeout):
> 
> (url-retrieve-synchronously "http://www.example.com" nil nil 5)
> #<buffer  *http www.example.com:80*>
> 
> M-x list-processes
> www.example.com -- open -- -- Main (network connection to 
> www.example.com:80)
> 
> C-x C-c
> exits without any process-related prompt
> 
> 
> 
> I'm not sure why the network connection remains open in either case, but
> regardless of that it seems as if process-query-on-exit-flag is set if
> the request times out, and cleared if it does not.  The query-on-exit
> case seems to me like a bug, especially when there is no obvious way to
> obtain the process object and change the flag.

Maybe I'm missing something, but if url-retrieve-synchronously exits
with a timeout, isn't it expected that the process be still alive, and
therefore that Emacs will ask you about killing it?

Or are you saying that when url-retrieve-synchronously exits due to
timeout, it should kill the process?




This bug report was last modified 2 years and 262 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.