mirror of
https://github.com/justinethier/cyclone.git
synced 2025-07-14 00:07:36 +02:00
Basic thread example with a busy-wait
This commit is contained in:
parent
9d0130bd25
commit
621fd0abd0
1 changed files with 39 additions and 28 deletions
67
test.scm
67
test.scm
|
@ -1,33 +1,44 @@
|
|||
;; A temporary file to attempt to repro crashing / data corruption
|
||||
(import (scheme base) (scheme write))
|
||||
(import (scheme base)
|
||||
(scheme write))
|
||||
|
||||
(define lambdas (list))
|
||||
|
||||
;; TODO: fill lambdas list
|
||||
|
||||
(letrec
|
||||
((init (lambda (n)
|
||||
(cond
|
||||
((equal? n 0) #f)
|
||||
(else
|
||||
(set! lambdas (cons '(9 ("test")) lambdas))
|
||||
(init (- n 1))))))
|
||||
(main (lambda ()
|
||||
(for-each
|
||||
(lambda (l)
|
||||
(write (list
|
||||
"static void __lambda_"
|
||||
(number->string (car l)) "(void *data, int argc, "
|
||||
(cdadr l)
|
||||
") ;")))
|
||||
lambdas)))
|
||||
(loop (lambda ()
|
||||
(main)
|
||||
(loop)))
|
||||
)
|
||||
(init 1000)
|
||||
(loop)
|
||||
;; Spawn off a thread
|
||||
(let ((t (thread-start! (make-thread (lambda () (write 'a))))))
|
||||
;; Busy wait
|
||||
(letrec ((foo (lambda () (bar)))
|
||||
(bar (lambda () (foo))))
|
||||
(foo))
|
||||
)
|
||||
|
||||
;;;; A temporary file to attempt to repro crashing / data corruption
|
||||
;;(import (scheme base) (scheme write))
|
||||
;;
|
||||
;;(define lambdas (list))
|
||||
;;
|
||||
;;;; TODO: fill lambdas list
|
||||
;;
|
||||
;;(letrec
|
||||
;; ((init (lambda (n)
|
||||
;; (cond
|
||||
;; ((equal? n 0) #f)
|
||||
;; (else
|
||||
;; (set! lambdas (cons '(9 ("test")) lambdas))
|
||||
;; (init (- n 1))))))
|
||||
;; (main (lambda ()
|
||||
;; (for-each
|
||||
;; (lambda (l)
|
||||
;; (write (list
|
||||
;; "static void __lambda_"
|
||||
;; (number->string (car l)) "(void *data, int argc, "
|
||||
;; (cdadr l)
|
||||
;; ") ;")))
|
||||
;; lambdas)))
|
||||
;; (loop (lambda ()
|
||||
;; (main)
|
||||
;; (loop)))
|
||||
;; )
|
||||
;; (init 1000)
|
||||
;; (loop)
|
||||
;;)
|
||||
; TODO: a long list like this seems to cause trouble. but revisit later, after GC is stabilized
|
||||
;(define lambdas
|
||||
; '(
|
||||
|
|
Loading…
Add table
Reference in a new issue