I've just started using flyspell and now I'm getting the following
error every so often.  Usually after my XEmacs has been running for 
a while..
(7) (error/warning) Error in `post-command-hook' (setting hook to nil): 
(file-error Opening pty or pipe Too many open files)
Signaling: (file-error "Opening pty or pipe" "Too many open files")
  start-process-internal("ispell" nil "ispell" "-a"
"-m" "-B")
  apply(start-process-internal "ispell" nil "ispell" ("-a"
"-m" "-B"))
  start-process("ispell" nil "ispell" "-a" "-m"
"-B")
  apply(start-process "ispell" nil "ispell" "-a"
"-m" "-B")
  ispell-init-process()
  ispell-buffer-local-words()
  ispell-accept-buffer-local-defs()
  flyspell-word()
  flyspell-post-command-hook()
  recursive-edit()
  byte-code("..." [pop-to-buffer debugger-buffer erase-buffer t 50 print-length
print-escape-newlines standard-output backtrace debugger-mode re-search-forward "\n[*
] debug(" 1 debugger-reenable debugger-args (lambda debug) "Entering:\n"
debug backtrace-debug 3 delete-char ?\* 0 exit "Return value: " debugger-value
prin1 ?\n ?\  error "Signaling: " "Beginning evaluation of function call
form:\n" nil message "" buffer-read-only inhibit-trace recursive-edit] 3)
  debug(error (file-error "Opening pty or pipe" "Too many open
files"))
  start-process-internal("ispell" nil "ispell" "-a"
"-m" "-B")
  apply(start-process-internal "ispell" nil "ispell" ("-a"
"-m" "-B"))
  start-process("ispell" nil "ispell" "-a" "-m"
"-B")
  apply(start-process "ispell" nil "ispell" "-a"
"-m" "-B")
  ispell-init-process()
  ispell-buffer-local-words()
  ispell-accept-buffer-local-defs()
  flyspell-word()
  flyspell-post-command-hook()
  recursive-edit()
  byte-code("..." [pop-to-buffer debugger-buffer erase-buffer t 50 print-length
print-escape-newlines standard-output backtrace debugger-mode re-search-forward "\n[*
] debug(" 1 debugger-reenable debugger-args (lambda debug) "Entering:\n"
debug backtrace-debug 3 delete-char ?\* 0 exit "Return value: " debugger-value
prin1 ?\n ?\  error "Signaling: " "Beginning evaluation of function call
form:\n" nil message "" buffer-read-only inhibit-trace recursive-edit] 3)
  debug(error (file-error "Opening pty or pipe" "Too many open
files"))
  start-process-internal("ispell" nil "ispell" "-a"
"-m" "-B")
  apply(start-process-internal "ispell" nil "ispell" ("-a"
"-m" "-B"))
  start-process("ispell" nil "ispell" "-a" "-m"
"-B")
  apply(start-process "ispell" nil "ispell" "-a"
"-m" "-B")
  ispell-init-process()
  ispell-buffer-local-words()
  ispell-accept-buffer-local-defs()
  flyspell-word()
  flyspell-post-command-hook()