mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-12 06:53:40 +00:00
compiler: support returning values from async functions
This is implemented as follows:
* The parent coroutine allocates space for the return value in its
frame and stores a pointer to this frame in the parent coroutine
handle.
* The child coroutine obtains the alloca from its parent using the
parent coroutine handle. It then stores the result value there.
* The parent value reads the data from the alloca on resumption.
This commit is contained in:
committed by
Ron Evans
parent
fb952a722a
commit
46d5ea8cf6
Vendored
+1
@@ -7,6 +7,7 @@ wait:
|
||||
wait start
|
||||
wait end
|
||||
end waiting
|
||||
value produced after some time: 42
|
||||
non-blocking goroutine
|
||||
done with non-blocking goroutine
|
||||
async interface method call
|
||||
|
||||
Reference in New Issue
Block a user