| ... | @@ -90,10 +90,10 @@ pub const Lock = struct { | ... | @@ -90,10 +90,10 @@ pub const Lock = struct { |
| 90 | } | 90 | } |
| 91 | | 91 | |
| 92 | pub async fn acquire(self: *Lock) Held { | 92 | pub async fn acquire(self: *Lock) Held { |
| 93 | suspend |handle| { | 93 | suspend { |
| 94 | // TODO explicitly put this memory in the coroutine frame #1194 | 94 | // TODO explicitly put this memory in the coroutine frame #1194 |
| 95 | var my_tick_node = Loop.NextTickNode{ | 95 | var my_tick_node = Loop.NextTickNode{ |
| 96 | .data = handle, | 96 | .data = @handle(), |
| 97 | .next = undefined, | 97 | .next = undefined, |
| 98 | }; | 98 | }; |
| 99 | | 99 | |
| ... | @@ -141,8 +141,9 @@ test "std.event.Lock" { | ... | @@ -141,8 +141,9 @@ test "std.event.Lock" { |
| 141 | | 141 | |
| 142 | async fn testLock(loop: *Loop, lock: *Lock) void { | 142 | async fn testLock(loop: *Loop, lock: *Lock) void { |
| 143 | // TODO explicitly put next tick node memory in the coroutine frame #1194 | 143 | // TODO explicitly put next tick node memory in the coroutine frame #1194 |
| 144 | suspend |p| { | 144 | suspend { |
| 145 | resume p; | 145 | var h: promise = @handle(); |
| | 146 | resume h; |
| 146 | } | 147 | } |
| 147 | const handle1 = async lockRunner(lock) catch @panic("out of memory"); | 148 | const handle1 = async lockRunner(lock) catch @panic("out of memory"); |
| 148 | var tick_node1 = Loop.NextTickNode{ | 149 | var tick_node1 = Loop.NextTickNode{ |