The function "exit()" does not belong to the list of async-signal-safe functions.
See section "2.4.3 Signal Actions" from the document "2.4 Signal Concepts".
http://opengroup.org/onlinepubs/009695399/functions/xsh_chap02_04.html#tag_02_04_03
http://opengroup.org/onlinepubs/009695399/functions/_Exit.html
Can your program work without the function "uart_sigproc"?
http://nanovm.cvs.sourceforge.net/nanovm/nanovm/vm/src/uart.c?revision=1.1.1.1&view=markup
Logged In: YES
user_id=44278
Originator: NO
exit() is only used in the unix test branch. Because there is no multithreading and there are no asynchronous signals on the µC and in the unix-test-case, there is no problem with this method of termination.
Logged In: YES
user_id=572001
Originator: YES
I suggest to perform tests correctly. Would you like to adhere to the POSIX standard specification at all places in the source code?