blob: f5bcc5a431a0aaaa0cbbdde48e15bb2679c9fa1a [file] [log] [blame]
// Triggers the out-of-memory handler. Should print an error message.
#![no_std]
#![feature(alloc_error_handler)]
extern crate alloc;
use alloc::vec::Vec;
use core::alloc::Layout;
use libtock::println;
use libtock::result::TockResult;
use libtock::syscalls;
libtock_core::stack_size! {0x800}
#[libtock::main]
fn main() -> TockResult<()> {
let mut vec = Vec::new();
loop {
vec.push(0);
}
}
#[alloc_error_handler]
unsafe fn alloc_error_handler(_: Layout) -> ! {
if let Ok(drivers) = libtock::retrieve_drivers() {
drivers.console.create_console();
println!("alloc_error_handler called");
}
loop {
syscalls::raw::yieldk();
}
}