emacs-devel
[Top][All Lists]
Advanced

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

send_process problem


From: Tak Ota
Subject: send_process problem
Date: Fri, 10 May 2002 10:15:29 -0700 (PDT)

After the following changes (I believe Andrew's change is irrelevant)
send_process started failing while running Mew(email package) on
i386-msvc-nt5.0.2195.

2002-05-04  Jason Rumney  <address@hidden>

        * keyboard.c (make_lispy_event) <mouse-wheel>: Set count to 1
        for event-click-count.

        * process.c (init_process): Only add server subfeature if we can
        use non-blocking I/O.

2002-05-04  Andrew Choi  <address@hidden>

        * macterm.c (XTread_socket): Call WaitNextEvent once instead of
        repeatedly.

2002-05-03  Jason Rumney  <address@hidden>

        * process.c (Fmake_network_process): Only support server sockets
        when we can make them non-blocking.

        * s/ms-w32.h (HAVE_SELECT): Define.

        * w32.h (FILE_NDELAY): New flag.

        * w32.c (sys_getpeername, fcntl): New functions.
        (_sys_read_ahead): Temporarily block on non-blocking sockets.

        * w32proc.c: include sys/file.h.

Here is the backtrace at the time when error occurred.  The problem
only happens when a message size is large.  It seems like the package
calls process-send-region for each 1000 characters.  It has succeeded
up to 9000 characters then failed.  I wondered if the network process
was killed due to the abruptly disconnected network but list-processes
showed the process was still there.

-Tak

Debugger entered--Lisp error: (file-error "writing to process" "invalid 
argument" #<process mew-smtp-info-mail1.sjc.in.sel.sony.com>)
  process-send-region(#<process mew-smtp-info-mail1.sjc.in.sel.sony.com> 9001 
10001)
  (let ((next ...)) (process-send-region pro cont next) (setq cont next) (setq 
i (1+ i)))
  (while (and (< cont ...) (not ...) (< i N)) (let (...) (process-send-region 
pro cont next) (setq cont next) (setq i ...)))
  (let ((cont ...) (sender ...) (inc 1000) (i 0) (N 10)) (set-buffer 
(process-buffer pro)) (when (and sender ...) (process-send-string pro ...) (let 
... ... ... ...)) (while (and ... ... ...) (let ... ... ... ...)) 
(mew-smtp-set-cont pnm cont) (if (< cont ...) (let ... ...) (mew-smtp-set-cont 
pnm nil) (mew-smtp-set-timer pnm nil) (process-send-string pro ...)))
  (save-excursion (let (... ... ... ... ...) (set-buffer ...) (when ... ... 
...) (while ... ...) (mew-smtp-set-cont pnm cont) (if ... ... ... ... ...)))
  mew-smtp-command-content(#<process mew-smtp-info-mail1.sjc.in.sel.sony.com> 
"mew-smtp-info-mail1.sjc.in.sel.sony.com")
  funcall(mew-smtp-command-content #<process 
mew-smtp-info-mail1.sjc.in.sel.sony.com> 
"mew-smtp-info-mail1.sjc.in.sel.sony.com")
  (and func (funcall func process pnm))
  (cond (next (mew-smtp-set-status pnm next) (setq func ...) (and func ...) 
(mew-smtp-set-string pnm nil)) (t (if ... ...) (mew-smtp-recover pnm str)))
  (cond ((and ... ...) (setq code ...) (setq next ...) (cond ... ...)) (t nil))
  (progn (set-buffer (process-buffer process)) (mew-smtp-set-string pnm str) 
(cond (... ... ... ...) (t nil)))
  (unwind-protect (progn (set-buffer ...) (mew-smtp-set-string pnm str) (cond 
... ...)) (if (get-buffer obuf) (set-buffer obuf)))
  (let ((obuf ...)) (unwind-protect (progn ... ... ...) (if ... ...)))
  (if (bufferp (process-buffer process)) (let (...) (unwind-protect ... ...)))
  (mew-filter (mew-smtp-set-string pnm str) (cond (... ... ... ...) (t nil)))
  (let* ((pnm ...) (status ...) (str ...) next func code) (mew-smtp-debug 
(upcase status) string) (mew-filter (mew-smtp-set-string pnm str) (cond ... 
...)))
  mew-smtp-filter(#<process mew-smtp-info-mail1.sjc.in.sel.sony.com> "354 Enter 
mail, end with \".\" on a line by itself\n")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]