I'm just getting started with L4 and Fiasco, and wanted to try a Hello World. The goal is to have a program which will run in fiasco-ux, print some text to the screen, and then exit back to the terminal.
$ cat helloworld.c #include <stdio.h>
int main(int argc, char **argv) { printf("Hello world from L4!\n"); return 1; }
I'm encountering a problem where after the program runs, moe detects that it's terminated but doesn't itself exit.
$ ./fiasco -R './moe --init=rom/helloworld' -l ./l4re -l ./helloworld [...] MOE: cmdline: ./moe --init=rom/helloworld MOE: Starting: rom/helloworld MOE: loading 'rom/helloworld' Hello world from L4! MOE: task 1557475 exited with 1
Looking through src/l4/pkg/moe/server/src, I can't find any obvious way to make moe exit when its init process terminates. Being able to exit seems like fairly important functionality, so I assume it's present somewhere, but I can't figure out how to enable it. moe has no flags related to exiting, and its main() appears to end in the infinite-loop server.loop_noexc() procedure.
Is exiting supported? If yes, how do I enable it? If no, why, and would patches be accepted to do this?