Skip to content

Provide way to catch OOM in C API #2396

Open
@seanmonstar

Description

@seanmonstar

Currently, allocation errors automatically result in an abort, which is undesirable in the C API. We could look into using std::alloc::set_alloc_error_hook or similar, to override the default behavior so that it doesn't abort, but does some sort of panic!(HyperOom), and we catch that at the FFI boundary (like all panics). However, that is not a stable function. First step is likely to get libstd to stabilize something we can use.

Originally from #2265 (comment)

Activity

added
A-ffiArea: ffi (C API)
B-upstreamBlocked: needs a change in a dependency or the compiler.
on Jan 12, 2021
seanmonstar

seanmonstar commented on May 28, 2021

@seanmonstar
MemberAuthor

As a check-in (at least for myself), there's the following tracking issues for the lang/libstd:

The status of those issues don't seem to have changed. It may need more active attention from us.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-ffiArea: ffi (C API)B-upstreamBlocked: needs a change in a dependency or the compiler.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @seanmonstar

        Issue actions

          Provide way to catch OOM in C API · Issue #2396 · hyperium/hyper