breaking: remove cancel
, replace with destroy
and quit
#1457
Labels
proposal
This issue suggests modifications. If it also has the "accepted" label then it is planned.
Milestone
#1363 discusses current rase conditions in std.event.loop. These race conditions can be addressed in user-space, however
cancel
is too feature-full and has introduces a race condition of its own.This proposal is to return to what llvm gives us and remove
cancel
for llvm'sdestroy
suspend
will no longer be responsible for running the defer and errdefers, and instead these will be run bydestroy
andquit
.quit
is just shorthand fordestroy @handle()
.It will cause undefined behavior to call
destroy
on a running co-routine, but in the NM scheduling model a co-routine needs to be able to destroy itself withquit
: https://bugs.llvm.org/show_bug.cgi?id=38805The text was updated successfully, but these errors were encountered: