Skip to content

Test scheduling - stack dive #31

@lmagyar

Description

@lmagyar

We should check to not make stack dives!!!
TaskCompletionSource-s for operations are created without TaskCreationOptions.RunContinuationsAsynchronously, and nearly all ContinueWith uses TaskContinuationOptions.ExecuteSynchronously.
When we go from sync OnNotifyUnhandledException and OnNotifyPaused to TAP async equivalents, there are two await Task.Yield(), these should break most of the loops.
NOTE: SendResponse's TaskCompletionSource.Task should continue ASAP, and not wait for the other activities in the WF, this way WF can run on the tail of the operations!
See eg.: http://stackoverflow.com/questions/28321457/taskcontinuationoptions-runcontinuationsasynchronously-and-stack-dives

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions