Page MenuHomePhabricator

efl-mono: Fix value forwarding in promises/async
ClosedPublic

Authored by lauromoura on Jun 27 2019, 1:21 PM.

Details

Summary

Values returned from C# Then callbacks must release ownership of the
underlying native value, so Eina code can clean it up nicely and avoid
the Wrapper flushing it early.

The same issue applied to the Async wrappers. In this case the value
passed as the Task parameter could be released by an using block
awaiting the value.

Also Future creation was then-ing the wrong handle.

Also add better exception messages.

Diff Detail

Repository
rEFL core/efl
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
lauromoura created this revision.Jun 27 2019, 1:21 PM
lauromoura requested review of this revision.Jun 27 2019, 1:21 PM
vitor.sousa accepted this revision.Jun 27 2019, 3:31 PM
This revision is now accepted and ready to land.Jun 27 2019, 3:31 PM
This revision was automatically updated to reflect the committed changes.