Debugging

This commit is contained in:
Justin Ethier 2016-01-13 22:50:09 -05:00
parent addf25eec9
commit 4261a4b195

View file

@ -5,19 +5,32 @@
(srfi 18)) (srfi 18))
;; should not be necessary, just testing ;; should not be necessary, just testing
(define m (make-mutex)) ;; TODO: noticed gc_move error with mutex... may be a GC issue
;(define m (make-mutex))
(define (write-forever val) (define (write-forever val)
(mutex-lock! m) ; (mutex-lock! m)
(write val) (write val)
(mutex-unlock! m) ; (list 1)
; (mutex-unlock! m)
(write-forever val)) (write-forever val))
(define (make-writer val) (define (make-writer val)
(lambda () (write-forever val))) (lambda () (write-forever val)))
;; Try moving closures to heap prior to using threads
;; TODO: needed?
(Cyc-minor-gc)
(thread-start! (thread-start!
(make-thread (make-thread
(make-writer "thread 1"))) (make-writer "thread 1")))
(thread-start!
(make-thread
(make-writer 'thread-2)))
(thread-start!
(make-thread
(make-writer 'thread-3)))
;; TODO: when main runs the process crashes, but otherwise it seems stable. WTF?
((make-writer 'main)) ((make-writer 'main))
;(read) (read)