Skip to content

hyper-util: client connection pool won't clean expired connections after system sleep #3810

Open
@DiscreteTom

Description

@DiscreteTom

Version
hyper-util v0.1.10 (latest)

Platform
x86_64 GNU/Linux

Description
std::Instant has incorrect behavior after system sleep, see rust-lang/rust#79462

This will break some duration calculations, e.g. hyper-util client connection pool won't clean expired connections after system sleep because the new Instant::now is incorrect and the calculated duration is shorter than the actual one. See https://github.com/hyperium/hyper-util/blob/dce81a0cbae0dd989caab74b83be953e75c5cfb1/src/client/legacy/pool.rs#L760

Using https://github.com/DXist/boot-time/ or calling libc to get a time directly may solve this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    B-upstreamBlocked: needs a change in a dependency or the compiler.C-bugCategory: bug. Something is wrong. This is bad!

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions