authorgravatar for kt@connectfree.co.jpkristopher tate <kt@connectfree.co.jp> 2018-07-29 17:14:02+09:00
committergravatar for kt@connectfree.co.jpkristopher tate <kt@connectfree.co.jp> 2018-08-02 16:59:11+09:00
loga3705b425134d8e9c22ce238e7de9568d3394a44
tree2f8e8bde802e62e3a38894345eb051c91c40455e
parentefec3a0e342be01f7cf74cf7906dd50b98e5aa97

std/event/loop.zig: remove promise_symbol from suspend and use @handle();

Tracking Issue #1296 ;

1 files changed, 7 insertions(+), 7 deletions(-)

std/event/loop.zig+7-7
......@@ -331,11 +331,11 @@ pub const Loop = struct {
331331
332332 pub async fn waitFd(self: *Loop, fd: i32) !void {
333333 defer self.removeFd(fd);
334 suspend |p| {
334 suspend {
335335 // TODO explicitly put this memory in the coroutine frame #1194
336336 var resume_node = ResumeNode{
337337 .id = ResumeNode.Id.Basic,
338 .handle = p,
338 .handle = @handle(),
339339 };
340340 try self.addFd(fd, &resume_node);
341341 }
......@@ -417,11 +417,11 @@ pub const Loop = struct {
417417 pub fn call(self: *Loop, comptime func: var, args: ...) !(promise->@typeOf(func).ReturnType) {
418418 const S = struct {
419419 async fn asyncFunc(loop: *Loop, handle: *promise->@typeOf(func).ReturnType, args2: ...) @typeOf(func).ReturnType {
420 suspend |p| {
421 handle.* = p;
420 suspend {
421 handle.* = @handle();
422422 var my_tick_node = Loop.NextTickNode{
423423 .next = undefined,
424 .data = p,
424 .data = @handle(),
425425 };
426426 loop.onNextTick(&my_tick_node);
427427 }
......@@ -439,10 +439,10 @@ pub const Loop = struct {
439439 /// CPU bound tasks would be waiting in the event loop but never get started because no async I/O
440440 /// is performed.
441441 pub async fn yield(self: *Loop) void {
442 suspend |p| {
442 suspend {
443443 var my_tick_node = Loop.NextTickNode{
444444 .next = undefined,
445 .data = p,
445 .data = @handle(),
446446 };
447447 self.onNextTick(&my_tick_node);
448448 }