summaryrefslogtreecommitdiff
path: root/src/user/init.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/user/init.cc')
-rw-r--r--src/user/init.cc34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/user/init.cc b/src/user/init.cc
new file mode 100644
index 0000000..3c42adf
--- /dev/null
+++ b/src/user/init.cc
@@ -0,0 +1,34 @@
+#include "user/user.h"
+
+int main();
+
+extern "C" void _start()
+{
+ exit(main());
+}
+
+int main()
+{
+ int pid = fork();
+
+ if (pid < 0)
+ {
+ write(1, "Fork failed\n", 12);
+ exit(1);
+ }
+
+ if (pid == 0)
+ {
+ write(1, "Hello from Child!\n", 18);
+ exit(0);
+ }
+ else
+ {
+ write(1, "Parent waiting...\n", 18);
+ wait(0);
+ write(1, "Parent: Child exited.\n", 22);
+ }
+
+ while (1);
+ return 0;
+} \ No newline at end of file