From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Katsumi Yamaoka Newsgroups: gmane.emacs.gnus.general,gmane.emacs.devel Subject: url.el blocks Gnus+nnrss Date: Thu, 13 Jan 2005 21:16:19 +0900 Organization: Emacsen advocacy group Message-ID: NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1105619544 13658 80.91.229.6 (13 Jan 2005 12:32:24 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 13 Jan 2005 12:32:24 +0000 (UTC) Cc: ding@gnus.org Original-X-From: ding-owner+M8109@lists.math.uh.edu Thu Jan 13 13:32:17 2005 Return-path: Original-Received: from malifon.math.uh.edu ([129.7.128.13] ident=mail) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1Cp44L-00059S-00 for ; Thu, 13 Jan 2005 13:27:17 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu ident=lists) by malifon.math.uh.edu with smtp (Exim 3.20 #1) id 1Cp3uD-0002Fw-00; Thu, 13 Jan 2005 06:16:49 -0600 Original-Received: from util2.math.uh.edu ([129.7.128.23]) by malifon.math.uh.edu with esmtp (Exim 3.20 #1) id 1Cp3u3-0002Fo-00 for ding@lists.math.uh.edu; Thu, 13 Jan 2005 06:16:39 -0600 Original-Received: from quimby.gnus.org ([80.91.224.244]) by util2.math.uh.edu with esmtp (Exim 4.30) id 1Cp3tq-0007T5-QE for ding@lists.math.uh.edu; Thu, 13 Jan 2005 06:16:26 -0600 Original-Received: from washington.hostforweb.net ([69.61.11.2]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1Cp3tp-0006NI-00 for ; Thu, 13 Jan 2005 13:16:25 +0100 Original-Received: from localhost ([127.0.0.1]) by washington.hostforweb.net with esmtpa (Exim 4.43) id 1Cp3u4-0006ln-Sv; Thu, 13 Jan 2005 07:16:41 -0500 Original-To: emacs-devel@gnu.org X-Face: #kKnN,xUnmKia.'[pp`;Omh}odZK)?7wQSl"4o04=EixTF+V[""w~iNbM9ZL+.b*_CxUmFk B#Fu[*?MZZH@IkN:!"\w%I_zt>[$nm7nQosZ<3eu;B:$Q_:p!',P.c0-_Cy[dz4oIpw0ESA^D*1Lw= L&i*6&( User-Agent: Gnus/5.110003 (No Gnus v0.3) Emacs/21.3.50 (gnu/linux) Cancel-Lock: sha1:fHy+kQC/nSZhxtQuzisE0MIXDK0= X-Hashcash: 1:20:050113:emacs-devel@gnu.org::ndTIrD2jXpdSEOEi:00000000000000000000000000000000000000000001Lf X-Hashcash: 1:20:050113:ding@gnus.org::LKUATyQTbSv1yjK1:000027kZ X-Antivirus-Scanner: Clean mail though you should still use an Antivirus X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - washington.hostforweb.net X-AntiAbuse: Original Domain - gnus.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - jpl.org X-Source: X-Source-Args: X-Source-Dir: Precedence: bulk Original-Sender: ding-owner@lists.math.uh.edu Xref: main.gmane.org gmane.emacs.gnus.general:59569 gmane.emacs.devel:32194 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:32194 Hi, Several people reported that Gnus hangs if they subscribe to nnrss groups. nnrss is a back end which uses the url ELisp package by default and enables to read rss feeds as if they were newsgroups. When starting Gnus or typing `g' (gnus-group-get-new-news), it gets into the infinite loop. The reason the problem arises is stated in the `url-retrieve-synchronously' section of the url.el file as follows: ;; Quoth Stef: ;; It turns out that the problem seems to be that the (sit-for ;; 0.1) below doesn't actually process the data: instead it ;; returns immediately because there is keyboard input ;; waiting, so we end up spinning endlessly waiting for the ;; process to finish while not letting it finish. ;; However, raman claims that it blocks Emacs with Emacspeak ;; for unexplained reasons. Put back for his benefit until ;; someone can understand it. ;; (sleep-for 0.1) (sit-for 0.1)) I don't know why it sticks to `sleep-for' or `sit-for'. Although both process data, there are adverse effects as the comment mentioned. Isn't the function which should process data from the network `accept-process-output'? I tried it there and confirmed it solves the problem. Since I don't have Emacspeak, I'm not sure whether it doesn't trouble Emacspeak users, though. The patch is here: *** url.el~ Sun Nov 21 22:23:54 2004 --- url.el Thu Jan 13 12:15:19 2005 *************** *** 177,194 **** (while (not retrieval-done) (url-debug 'retrieval "Spinning in url-retrieve-synchronously: %S (%S)" retrieval-done asynch-buffer) ! ;; Quoth Stef: ! ;; It turns out that the problem seems to be that the (sit-for ! ;; 0.1) below doesn't actually process the data: instead it ! ;; returns immediately because there is keyboard input ! ;; waiting, so we end up spinning endlessly waiting for the ! ;; process to finish while not letting it finish. ! ! ;; However, raman claims that it blocks Emacs with Emacspeak ! ;; for unexplained reasons. Put back for his benefit until ! ;; someone can understand it. ! ;; (sleep-for 0.1) ! (sit-for 0.1)) asynch-buffer))) (defun url-mm-callback (&rest ignored) --- 177,183 ---- (while (not retrieval-done) (url-debug 'retrieval "Spinning in url-retrieve-synchronously: %S (%S)" retrieval-done asynch-buffer) ! (accept-process-output (get-buffer-process asynch-buffer) 0 100000 1)) asynch-buffer))) (defun url-mm-callback (&rest ignored)