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.
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 ofpanic!(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 https://github.com/hyperium/hyper/issues/2265#issuecomment-694508481