socketry / async

An awesome asynchronous event-driven reactor for Ruby.
MIT License
2.12k stars 86 forks source link

Stop children even if the current task is deferring stop. #312

Open ioquatix opened 6 months ago

ioquatix commented 6 months ago

Defer stop does not mean "don't stop". It means there is some code which should ignore stop for a little while and the stop, kind of like an asynchronous ensure block. Therefore, I don't think we should prevent it from propagating to child tasks.

In particular, if you have a server task that is handling one or more child tasks (responses), those tasks should be stopped.

The alternative is to make defer_stop parameteric, but I'm trying to avoid increasing the complexity of this interface.

Types of Changes

Contribution