Make exit call _exit instead of syscall directly
authorKevin Klues <klueska@cs.berkeley.edu>
Wed, 5 Dec 2012 04:27:14 +0000 (20:27 -0800)
committerKevin Klues <klueska@cs.berkeley.edu>
Wed, 5 Dec 2012 04:27:14 +0000 (20:27 -0800)
Needed to get libgomp to work correctly because it required its call to
exit() to be for a function that had a noreturn attribute.  Arguably, we
should have been doing this all along, and the direct syscall was
probably extreme legacy code before we had glibc properly integrated.

user/parlib/include/vcore.h

index 25f63de..ccc8a57 100644 (file)
@@ -19,7 +19,7 @@ extern "C" {
 #include <stdlib.h>
 #include <unistd.h>
 #undef exit
-#define exit(status) ros_syscall(SYS_proc_destroy, getpid(), status, 0, 0, 0, 0)
+#define exit(status) _exit(status)
 /*****************************************************************************/
 
 #define LOG2_MAX_VCORES 6