freeMBlocks() is broken due to hidden use-after-free issue. Now the ghc-asterius block allocator never returns memory to OS, and we stick to plain aligned_alloc calls here before we sort out the Asterius/C ABI incompatability issue.
Disable default buffering for stdin, stdout; remove calls to flushStdHandles in the default top handler. Makes debugging hard, and wasi32 syscalls are supposed to be cheap anyway.
Updates in upstream
ghc-asterius
:freeMBlocks()
is broken due to hidden use-after-free issue. Now theghc-asterius
block allocator never returns memory to OS, and we stick to plainaligned_alloc
calls here before we sort out the Asterius/C ABI incompatability issue.stdin
,stdout
; remove calls toflushStdHandles
in the default top handler. Makes debugging hard, and wasi32 syscalls are supposed to be cheap anyway.