Hello, L4 hackers!
I have a question about Fiasco.OC.
I am a bit stuck in understanding of how objects created by factory are 
destroyed? For example, we have a call from user space 
l4_factory_create_thread(). It creates object in Fiasco (file 
fiasco/src/kernel/factory.cpp) and map it using call map() from 
fiasco/src/kernel/map_util.cpp. However, the procedure of destruction of 
created objects (tasks, threads, gates, irqs, vms) is not clear: it seems that 
there is some kind of the "garbage collector", but I can not figure out some 
important things. Particularly:
1) where is the code which essentially destroys created objects (call 
destructors)?
2) what conditions make "garbage collection" to start?
3) how "garbage collection" can be forced from user-space?

As a use-case, I can propose the fork-bomb test from Genode framework: it 
creates lots of new Genode threads (thus, it makes a lot of new thread/gate/irq 
objects in Fiasco.OC).
Thanks in advance for your answer.

-- 
Best regards,
Sergey Grekhov

_______________________________________________
l4-hackers mailing list
l4-hackers@os.inf.tu-dresden.de
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers

Reply via email to