lang: core, funcs, types: Add ctx to simple func

Plumb through the standard context.Context so that a function can be
cancelled if someone requests this. It makes it less awkward to write
simple functions that might depend on io or network access.
This commit is contained in:
James Shubin
2024-05-09 19:25:46 -04:00
parent 3b754d5324
commit 415e22abe2
51 changed files with 166 additions and 108 deletions

View File

@@ -123,7 +123,7 @@ func init() {
simple.ModuleRegister(ModuleName, OneInstanceBFuncName, &types.FuncValue{
T: types.NewType("func() str"),
V: func([]types.Value) (types.Value, error) {
V: func(context.Context, []types.Value) (types.Value, error) {
oneInstanceBMutex.Lock()
if oneInstanceBFlag {
panic("should not get called twice")
@@ -135,7 +135,7 @@ func init() {
})
simple.ModuleRegister(ModuleName, OneInstanceDFuncName, &types.FuncValue{
T: types.NewType("func() str"),
V: func([]types.Value) (types.Value, error) {
V: func(context.Context, []types.Value) (types.Value, error) {
oneInstanceDMutex.Lock()
if oneInstanceDFlag {
panic("should not get called twice")
@@ -147,7 +147,7 @@ func init() {
})
simple.ModuleRegister(ModuleName, OneInstanceFFuncName, &types.FuncValue{
T: types.NewType("func() str"),
V: func([]types.Value) (types.Value, error) {
V: func(context.Context, []types.Value) (types.Value, error) {
oneInstanceFMutex.Lock()
if oneInstanceFFlag {
panic("should not get called twice")
@@ -159,7 +159,7 @@ func init() {
})
simple.ModuleRegister(ModuleName, OneInstanceHFuncName, &types.FuncValue{
T: types.NewType("func() str"),
V: func([]types.Value) (types.Value, error) {
V: func(context.Context, []types.Value) (types.Value, error) {
oneInstanceHMutex.Lock()
if oneInstanceHFlag {
panic("should not get called twice")