fix: avoids closing cancelled readablestream

This commit is contained in:
Nicolas Lepage 2024-12-09 23:11:17 +01:00
parent 669f82020d
commit 30a6ef67f9
No known key found for this signature in database
GPG Key ID: B0879E35E66D8F6F
2 changed files with 4 additions and 6 deletions

Binary file not shown.

View File

@ -18,6 +18,8 @@ type Writer struct {
var _ io.WriteCloser = (*Writer)(nil)
func NewWriter() (*Writer, error) {
var rs *Writer
var start safejs.Func
var controller safejs.Value
@ -35,6 +37,7 @@ func NewWriter() (*Writer, error) {
cancel, err = safejs.FuncOf(func(_ safejs.Value, _ []safejs.Value) any {
defer cancel.Release()
rs.cancelled = true
cancelCtx()
return nil
})
@ -55,17 +58,12 @@ func NewWriter() (*Writer, error) {
return nil, err
}
rs := &Writer{
rs = &Writer{
Value: value,
controller: controller,
ctx: ctx,
}
go func() {
<-ctx.Done()
rs.cancelled = true
}()
return rs, nil
}