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?