fix dropping of resource borrows in async-lifted exports #182
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Previously, I had been using a global variable to track borrows which needed to be dropped when returning from an export, which works fine for sync-lifted exports but not so fine for async-lifted ones. In the latter case, we would incorrectly drop borrows from other concurrent calls. Now I've eliminated the global variable in favor of tracking the borrows on a per-call basis.
This also includes few minor chores:
I had also intended to update to WASI-SDK 29, but it seems to have broken the TCP example. Will debug that later.