- changed status to resolved
Importing an error containing library in library causes dead lock on multithread environment
Issue #159
resolved
This should not prevent other thread's process
;; bar.sls (library (bar) (expor bar) ;; oops (import (rnrs)) (define bar 'bar)) ;; test.scm (import (rnrs) (srfi :18)) (define error-thread (make-thread (lambda () (guard (e (else (report-error e))) (eval '(library (foo) (export bar) (import (rnrs) (bar))) (environment '(sagittarius)))) (thread-sleep! 100)))) (define ok-thread (make-thread (lambda () (guard (e (else e)) (eval '(import (foo)) (environment '(sagittarius))))))) (thread-start! error-thread) (thread-join! (thread-start! ok-thread)) (print 'done)
Comments (1)
-
reporter - Log in to comment
Wrapping locking libraries with unwind protect. (Fixes
#159)→ <<cset a07a77f1a7bc>>