diff --git a/test.scm b/test.scm index d668b741..1dcb3314 100644 --- a/test.scm +++ b/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 ; '(