For a side note, this one leaks too - ___release_scmobj does not fix it. (##gc-report-set! #t) (for-each (lambda (x) ((c-lambda () scheme-object "___result = ___EXT(___alloc_scmobj)(___sU8VECTOR,10000,___MOVABLE0); if (!___FIXNUMP(___result)) ___EXT(___release_scmobj) (r); "))) (string->list (make-string 100000)) (##gc) While I don't know if the ___result = ___EXT(___alloc_scmobj)(___sU8VECTOR,len,___STILL); if (!___FIXNUMP(___result)) ___still_obj_refcount_dec(___result); variant suggested in the previous email is really safe & complete, experience til now seems to say it's alright. Brgds 2013/6/16 Mikael <mikael.rcv@gmail.com> ..
*Fix, duno if safe & complete*
(##gc-report-set! #t) (for-each (lambda (x) ((c-lambda () scheme-object "___result = ___EXT(___alloc_scmobj)(___sU8VECTOR,10000,___STILL); if (!___FIXNUMP(___result)) ___still_obj_refcount_dec (___result); "))) (string->list (make-string 100000)) (##gc)