Ensure that coroutines are not re-entered if their state is not saved
Summary: This diff introduces a simple guard around the `doResume` method of `ClosureBase`. It ensures that a particular coroutine instance's `doResume` method is //not// (recursively) called if the call stack is //already in// the `doResume` method. This will guarantee that the coroutine may only be entered if its state is up-to-date.
Reviewed By: vladima
Differential Revision:
D5841888
fbshipit-source-id:
8ca4ba3a88a8ad6d803248d8fe5b565d294e38dd