[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#32367: sigaction hangs
From: |
Matt Wette |
Subject: |
bug#32367: sigaction hangs |
Date: |
Sat, 15 Dec 2018 08:58:51 -0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1 |
On 12/15/18 8:46 AM, Matt Wette wrote:
-s seems to end up using load-in-vicinity: I can re-create this way:
mwette$ guile -L `pwd` -c '(load-in-vicinity (getcwd) "foo.scm")'
;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;; or pass the --no-auto-compile argument to disable.
;;; compiling /home/mwette/proj/guile/bugs-guile/32367/foo.scm
setting SIGCHILD to SIG_DFL...
^C
And using `-l' to load scsh.scm fixes the problem:
mwette$ guile -L `pwd` -l scsh.scm -c '(load-in-vicinity (getcwd)
"foo.scm")'setting SIGCHILD to SIG_DFL...
setting SIGCHILD to SIG_DFL...done
;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;; or pass the --no-auto-compile argument to disable.
;;; compiling /home/mwette/proj/guile/bugs-guile/32367/foo.scm
;;; compiled
/home/mwette/.cache/guile/ccache/2.2-LE-8-3.A/home/mwette/proj/guile/bugs-guile/32367/foo.scm.go
mwette $
An update from 2.2.3 to 2.2.4 adds call-with-module-autoload-lock which
places a
mutex around autoload. This looks like one place to start digging. See
ice-9/threads.scm:
(set! (@ (guile) call-with-module-autoload-lock)
(let ((mutex (make-mutex 'recursive)))
(lambda (thunk)
(with-mutex mutex
(thunk)))))