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)