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

Re: w3m freezes / 99% cpu?

>>>>> In [emacs-w3m : No.09893] Pierre Baillargeon wrote:

> I've found that "export GC_NPROCS=1" before starting w3m on Mac OS X
> 10.5.1 avoids the problem. It seems to be a bug with dual core CPU
> (and possibly multi-processors too). By looking into the call stack
> and the boehm garbage collector source, I was able to identify that
> environment variable as being a factor in how the GC works. Solved the
> problem for me.

Emacs-w3m offers a means that passes environment variables to
w3m.  To do that, add a Lisp form like the following to your
~/.emacs-w3m.el file:

(add-to-list 'w3m-command-environment '("GC_NPROCS" . "1"))

Could you try it?  If it is effective, I'll add it to emacs-w3m
as one of a default value of `w3m-command-environment' for Mac.
Or is it harmful for the system which runs with some processor
even if the value of `system-type' is `macos'?  If so, I'd like
to know the way to distinguish the MacOS systems.  Now I roughly
plan to make a change as follows:

--- w3m.el~	2007-12-20 07:46:08 +0000
+++ w3m.el	2008-01-09 01:02:17 +0000
@@ -330,13 +330,15 @@
 (defcustom w3m-command-environment
   (delq nil
 	 (if (eq w3m-type 'w3mmee)
 	     (cons "W3MLANG" "ja_JP.kterm"))
 	 (if (eq system-type 'windows-nt)
-	     (cons "CYGWIN" "binmode tty"))))
+	     (cons "CYGWIN" "binmode tty"))
+	 (if (eq system-type 'macos)
+	     (cons "GC_NPROCS" "1"))))
   "*Alist of environment variables for subprocesses to inherit."
   :group 'w3m
   :type '(repeat
 	  (cons :format "%v" :indent 4
 		(string :format "Name: %v\n" :size 0)
 		(string :format "    Value: %v\n" :size 0))))