EFS 1.14 bug: long pty checking delays
Ben Liblit (liblit@z-code.ncd.com)
Tue, 17 Oct 1995 13:07:33 -0700
EFS is a beautiful piece of work, but I'm encountering a small problem
starting up new FTP processes. I often encounter rather long delays
before things get started, on the order of ten to twenty seconds.
I've tracked the delays down to efs-pty-check, which seems to be
taking its own sweet time deciding if I've got a pty or not. I've
also confirmed that setting efs-pty-check-threshold to nil eliminates
the delay.
First off, I'm concerned that I may be asking for trouble by disabling
pty checking. What are the consequences of failing to notice that an
FTP process got stuck with a pipe instead? How about adding a richer
description of this issue to the documentation?
Second, Emacs 19.29 introduced a new function, process-tty-name, that
sounds like it may overlap with efs-pty-check:
process-tty-name: a built-in function.
Return the name of the terminal PROCESS uses, or nil if none. This
is the terminal that the process itself reads and writes on, not
the name of the pty that Emacs uses to talk with that terminal.
(process-tty-name PROC)
Is this the same sort of information that efs-pty-check is trying to
deduce? If so, could this function be used to implement a version of
efs-pty-check that does all the same pty checking but without
unsightly delays? Clearly, such an alternate implementation would
have to be used only conditionally, since process-tty-name will not be
a defined function on many Emacsen.
Lastly, a side question. Near as I can tell, EFS has not changed
since August of 1994. Yet it still calls itself "beta". Is the
software really still in beta test?
Thanks for any answers you can provide!
Emacs : GNU Emacs 19.29.1 (mips-sgi-irix5, X toolkit) of Wed Sep 6 1995 on zeppelin.z-code.com
Package: efs
current state:
==============
(setq
efs-19.23-version "1.14/1.9"
efs-auto-version "1.14/1.7"
efs-cu-version "1.14/1.11"
efs-defun-version "1.14/1.3"
efs-dired-version "1.14/1.30"
efs-fnh-version "1.14/1.1"
efs-netrc-version "1.14/1.9"
efs-ovwrt-version "1.14/1.5"
efs-report-version "1.14/1.8"
efs-version "1.14/1.52"
efs-36-bit-binary-file-name-regexp nil
efs-anonymous-umask nil
efs-auto-save 0
efs-auto-save-remotely nil
efs-backup-by-copying nil
efs-binary-file-host-regexp nil
efs-binary-file-name-regexp "\\.\\([zZ]\\|t?gz\\|lzh\\|arc\\|zip\\|zoo\\|ta[rz]\\|dvi\\|sit\\|ps\\|elc\\|gif\\|Z-part-..\\|tpz\\|exe\\|[jm]pg\\|TZ[a-z]?\\|lib\\)\\(~\\|~[0-9]+~\\)?$\\|\\.\\(ARC\\|ELC\\|TAGS\\|EXE\\|ZIP\\|DVI|ZOO\\|GIF\\|T?GZ\\|[JM]PG\\)\\([.#;][0-9]+\\)?$"
efs-buffer-name-case nil
efs-compute-remote-buffer-file-truename nil
efs-debug-ftp-connection nil
efs-ding-on-chmod-failure t
efs-ding-on-umask-failure t
efs-disable-netrc-security-check nil
efs-expire-ftp-buffers t
efs-ftp-buffer-expire-time nil
efs-ftp-program-args '("-i" "-n" "-g" "-v")
efs-ftp-prompt-regexp "^\\(ftp\\|Ftp\\|FTP\\)> *"
efs-gateway-ftp-prompt-regexp "^\\(ftp\\|Ftp\\|FTP\\)> *"
efs-gateway-hash-mark-size nil
efs-gateway-incoming-binary-hm-size nil
efs-generate-anonymous-password t
efs-hash-mark-size 1024
efs-high-security-hosts nil
efs-incoming-binary-hm-size nil
efs-local-apollo-unix nil
efs-ls-cache-max 5
efs-make-backup-files '(unix
sysV-unix
bsd-unix
next-unix
apollo-unix
dumb-unix
dumb-apollo-unix
super-dumb-unix
)
efs-max-ftp-buffer-size 3000
efs-maximize-idle nil
efs-message-interval 0
efs-nlist-cmd "ls"
efs-nslookup-on-connect nil
efs-nslookup-program "nslookup"
efs-prompt-for-transfer-type nil
efs-pty-check-retry-time 5
efs-pty-check-threshold 1000
efs-retry-time 5
efs-root-umask nil
efs-send-hash t
efs-short-circuit-to-remote-root nil
efs-suppress-abort-recursive-edit-and-then nil
efs-text-file-name-regexp ".*"
efs-treat-crlf-as-nl nil
efs-umask nil
efs-verbose t
efs-verify-anonymous-modtime nil
efs-verify-modtime-host-regexp ".*"
efs-ftp-program-name "ftp"
efs-ftp-program-args '("-i" "-n" "-g" "-v")
efs-local-host-regexp "\\(^[^.]+\\|\\.\\(z-code\\|ncd\\)\\.com\\)$"
efs-ftp-local-host-regexp "\\(^[^.]+\\|\\.\\(z-code\\|ncd\\)\\.com\\)$"
efs-gateway-host "firewall.ncd.com"
efs-gateway-type '(proxy "ftp" ("-i" "-n" "-g" "-v"))
reporter-version "2.12"
features '(reporter
efs-report
info
findlib
efs-dired
passwd
efs-netrc
efs-defun
comint-fix
comint
efs
tabify
env
man
assoc
dired-shell
compile
dired-awrh
defer-lock
lazy-lock
font-lock
dired-font-lock
after-region
dired-fsf
dired
hsmail
mail-hist
ring
truncate-mode
pp
gnus-cite
gnus-msg
gnus-score
md4
nntp
sendmail
rnews
gnus-vis
easymenu
gnus-cache
gnus
gnus-cus
gnus-ems
custom
nnheader
timezone
mail-utils
ehelp
electric
holidays
lunar
solar
cal-dst
diary-lib
calendar
cal-menu
ediff-hook
rsz-mini
emacsd
paren
saveplace
crypt
crypt++
msb
mini-cl
cl
cl-19
scroll-in-place
iswitch
byte-optimize
bytecomp
byte-compile
advice
advice-preload
completer
hyperbole
hmouse-key
h-skip-bytec
hmouse-drv
hypb
hact
hhist
hvar
set
hversion
view
default-dir
backquote
efs-cu
efs-19\.23
efs-fnh
efs-ovwrt
efs-auto
iso-syntax
case-table
disp-table
vc-hooks
lisp-float-type
lisp-mode
page
select
scroll-bar
menu-bar
mouse
facemenu
faces
frame
x-toolkit
)
)