From 9febe62a7877e709fd275d8d7417d317712faa2d Mon Sep 17 00:00:00 2001 From: Norman Feske Date: Fri, 4 Apr 2025 18:05:02 +0200 Subject: [PATCH] app/dummy: use 'Ram' API Issue #5502 --- repos/os/src/app/dummy/main.cc | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/repos/os/src/app/dummy/main.cc b/repos/os/src/app/dummy/main.cc index ff3c3014e5..566ff4cc70 100644 --- a/repos/os/src/app/dummy/main.cc +++ b/repos/os/src/app/dummy/main.cc @@ -182,34 +182,28 @@ struct Dummy::Log_connections struct Dummy::Ram_consumer { - size_t _amount = 0; - - Ram_dataspace_capability _ds_cap { }; - Ram_allocator &_ram; + Ram_allocator::Result _ds = Ram::Error::DENIED; Ram_consumer(Ram_allocator &ram) : _ram(ram) { } void release() { - if (!_amount) - return; + _ds.with_result( + [&] (Ram::Allocation &a) { + log("release ", Number_of_bytes(a.num_bytes), " bytes of memory"); }, + [&] (Ram::Error) { }); - log("release ", Number_of_bytes(_amount), " bytes of memory"); - _ram.free(_ds_cap); - - _ds_cap = Ram_dataspace_capability(); - _amount = 0; + _ds = Ram::Error::DENIED; } void consume(size_t amount) { - if (_amount) + if (_ds.ok()) release(); log("consume ", Number_of_bytes(amount), " bytes of memory"); - _ds_cap = _ram.alloc(amount); - _amount = amount; + _ds = _ram.try_alloc(amount); } };