all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: joakim@verona.se
To: emacs-devel@gnu.org
Subject: emacs gets stuck in wait_reading_process_output sometimes
Date: Wed, 11 Jun 2008 21:09:34 +0200	[thread overview]
Message-ID: <m3fxrjiya9.fsf@verona.se> (raw)

#0  0x00110422 in __kernel_vsyscall ()
#1  0x00cb85bd in ___newselect_nocancel () from /lib/libc.so.6
#2  0x081adc25 in select_wrapper (n=-514, rfd=0x0, wfd=0xbfd5a178, xfd=0x0, tmo=0xbfd5a2a8) at process.c:4204
#3  0x081b0e3f in wait_reading_process_output (time_limit=0, microsecs=10000, read_kbd=0, do_display=0, wait_for_cell=137764129, wait_proc=0xb819ca0, just_wait_proc=0) at process.c:4587
#4  0x081b2de7 in Faccept_process_output (process=193043620, seconds=0, millisec=80, just_this_one=137764129) at process.c:3946

This only happens sometimes.

I have a small elisp wrapper for fetchmail, and I think the stuckness
might happen when fetchmail exits, but I'm not sure.

Any hints how to debug this better when it happens?


;jvfetchmail.el
;
;jvfetchmail calls fetchmail. After fetchmail is run, gnus is updated.
;
;my particular mail setup looks like this:
; - get mail via imap with fetchmail
; - filter mail with sieve, using dovecot local delivery agent
; - read mail using gnus from a local dovecot imapd instance on my laptop
;this looks complicated but is surprisingly efficient
;
;jvfetchmail also tries to help you not to obsess over email.
;
;jvfetchmail was only tested on emacs 23

;joakim@verona.se
;call fetchmail and stuff


(defvar jvfetchmail-last-called nil
  "when jvfetvhmail was last called")

(defvar jvfetchmail-in-progress nil)

;TODO process might fail, reset "in-progress" flag
;TODO gnus might fail at end, reset "in-progress" flag
;TODO some way of resetting the flag
(provide 'jvfetchmail)
(defun jvfetchmail-sentinel (process event)
  (setq jvfetchmail-in-progress nil) ;should rather be called lat but currently gnus might fail
  (let*
      ((msg (format "fetchmail %s"  event)))
    (save-excursion
      (set-buffer (get-buffer-create "*fetchmail*"))
      
      (gnus-group-get-new-news)
      (insert msg))
    (princ msg)))
                                        ;if no mail : exited abnormally with code 1
                                        ;otherwise: finished

(defun jvfetchmail ()
  "run fetchmail and stuff"
  (interactive)
  (if jvfetchmail-in-progress
      (message "jvfetchmail is running already, dont be obsessive")
    (progn
      (if jvfetchmail-last-called
          (progn
            (message "jvfetchmail last called %s, %s minutes ago"
                     (format-time-string "%H:%M" jvfetchmail-last-called) 
                     (round (/ (float-time (time-subtract (current-time) jvfetchmail-last-called)) 60))))
        (message "jvfetchmail 1st run this session"))
      (setq jvfetchmail-last-called (current-time))
      (setq jvfetchmail-in-progress t)
      (save-excursion
    
        (set-buffer (get-buffer-create "*jvfetchmail*"))
        (erase-buffer )
        (let*
            ((fetchmail-process (start-process "fetchmail" "*jvfetchmail*" "fetchmail")))
          (set-process-sentinel fetchmail-process 'jvfetchmail-sentinel)
          )
        )
      )
    ))
  
(global-set-key (kbd "<f9> m") 'jvfetchmail)

-- 
Joakim Verona




             reply	other threads:[~2008-06-11 19:09 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-11 19:09 joakim [this message]
2008-06-11 19:47 ` emacs gets stuck in wait_reading_process_output sometimes David Kastrup
2008-06-11 19:56   ` joakim
2008-06-11 22:06     ` David Kastrup

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=m3fxrjiya9.fsf@verona.se \
    --to=joakim@verona.se \
    --cc=emacs-devel@gnu.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.
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.