Skip to content

Add shutdown-handling logic #176

@str4d

Description

@str4d

zallet start uses the same approach for task shutdown as zebrad start. However, I didn't notice that zebrad doesn't use the TokioComponent from abscissa_tokio; it uses its own TokioComponent with the same name but that has interrupt-catching logic to let aborted futures finish (rather than cutting them off). abscissa_tokio's lack of this logic is leading to Zallet calling std::process::exit too quickly, which I think is causing some state corruption bugs.

We should either emulate what zebrad does (and consider upstreaming it into abscissa_tokio), or build our own shutdown listener logic (like I did in zcash-devtool).

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bugI-error-handlingProblems and improvements related to error handling

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions