Jacek Sieka 1ffd1cd3dc
release callback memory early (#130)
* release callback memory early

this fixes a memory leak where a deleted callback may keep references
alive until the future is finished.

In particular, when using helpers like `or` which try to remove
themselves from the callback list when a dependent future is completed,
create a reference chain between all futures in the expression - in the
pathological case where one of the futures is completes only rarely (for
example a timeout or a cancellation task), the buildup will be
significant.

* Removing unnecessary asserts, and place comments instead.
2020-09-15 10:55:43 +03:00
..
2020-09-10 11:39:10 +03:00
2020-09-10 11:39:10 +03:00
2020-06-24 11:21:52 +03:00
2019-04-08 16:46:22 +03:00
2019-05-07 23:11:40 +03:00