ed16da2e84
Motivation: In #9603 the executor hung on shutdown because of an abandoned task on another executor the first was waiting for. Modifications: This commit modifies the executor shutdown sequence to include switching to SHUTDOWN state and then running all remaining tasks. This ensures that no more tasks are scheduled after SHUTDOWN and the last pass of running remaining tasks will take it all. Any tasks scheduled after SHUTDOWN will be rejected. This change preserves the functionality of graceful shutdown with quiet period and only adds one more pass of task execution after the default shutdown process has finished and the executor is ready for termination. Result: After this change tasks that succeed to be added to the executor will be always executed. Tasks which come late will be rejected instead of abandoned. |
||
---|---|---|
.. | ||
main | ||
test |