fix: avoids closing cancelled readablestream

This commit is contained in:
Nicolas Lepage
2024-12-09 23:11:17 +01:00
parent 669f82020d
commit 30a6ef67f9
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
}