2 * (c) 2008-2009 Adam Lackorzynski <adam@os.inf.tu-dresden.de>,
3 * Alexander Warg <warg@os.inf.tu-dresden.de>
4 * economic rights: Technische Universität Dresden (Germany)
6 * This file is part of TUD:OS and distributed under the terms of the
7 * GNU General Public License 2.
8 * Please see the COPYING-GPL-2 file for details.
11 #include "slab_alloc.h"
13 #include <l4/re/parent-sys.h>
14 #include <l4/re/protocols>
17 using L4Re::Dataspace;
21 App_task::dispatch(l4_umword_t obj, L4::Ipc::Iostream &ios)
26 if (tag.label() != L4Re::Protocol::Parent)
33 case L4Re::Parent_::Signal:
43 object_pool.cap_alloc()->free(this);
45 L4::cout << "MOE: task " << obj << " exited with " << val
49 GC_gcollect_and_unmap();
62 : _task(L4::Cap<L4::Task>::Invalid),
63 _thread(L4::Cap<L4::Thread>::Invalid),
64 _alloc(Allocator::root_allocator())
66 object_pool.cap_alloc()->alloc(&_rm);
67 object_pool.cap_alloc()->alloc(&log);
72 object_pool.cap_alloc()->free(&_rm);
73 object_pool.cap_alloc()->free(&log);
74 object_pool.cap_alloc()->free(_thread);
75 object_pool.cap_alloc()->free(_task);
76 object_pool.cap_alloc()->free(&_sched);