From 2bc4d3ec23cc88155173729e60df54c8aa4949a6 Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Fri, 24 Oct 2014 17:34:57 -0400 Subject: get rid of libc_heap::{malloc_raw, realloc_raw} The C standard library functions should be used directly. The quirky NULL / zero-size allocation workaround is no longer necessary and was adding an extra branch to the allocator code path in a build without jemalloc. This is a small step towards liballoc being compatible with handling OOM errors instead of aborting (#18292). [breaking-change] --- src/libstd/c_vec.rs | 4 ++-- src/libstd/rt/mod.rs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'src/libstd') diff --git a/src/libstd/c_vec.rs b/src/libstd/c_vec.rs index 95f8ab72016..7ec25acb173 100644 --- a/src/libstd/c_vec.rs +++ b/src/libstd/c_vec.rs @@ -165,11 +165,11 @@ mod tests { use super::CVec; use libc; use ptr; - use rt::libc_heap::malloc_raw; fn malloc(n: uint) -> CVec { unsafe { - let mem = malloc_raw(n); + let mem = libc::malloc(n as libc::size_t); + if mem.is_null() { fail!("out of memory") } CVec::new_with_dtor(mem as *mut u8, n, proc() { libc::free(mem as *mut libc::c_void); }) diff --git a/src/libstd/rt/mod.rs b/src/libstd/rt/mod.rs index 689bcdad131..a91c6c572e6 100644 --- a/src/libstd/rt/mod.rs +++ b/src/libstd/rt/mod.rs @@ -62,7 +62,7 @@ pub use self::util::{default_sched_threads, min_stack, running_on_valgrind}; // Reexport functionality from librustrt and other crates underneath the // standard library which work together to create the entire runtime. -pub use alloc::{heap, libc_heap}; +pub use alloc::heap; pub use rustrt::{task, local, mutex, exclusive, stack, args, rtio, thread}; pub use rustrt::{Stdio, Stdout, Stderr, begin_unwind, begin_unwind_fmt}; pub use rustrt::{bookkeeping, at_exit, unwind, DEFAULT_ERROR_CODE, Runtime}; -- cgit 1.4.1-3-g733a5