From 71b0fee8eca4fd87cdda634abd2491fa7473b6a8 Mon Sep 17 00:00:00 2001 From: James Foster Date: Sat, 21 Mar 2020 21:21:32 -0700 Subject: [PATCH 1/2] Capture new PID from fork (nice for debugging) --- p-allocator.cc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/p-allocator.cc b/p-allocator.cc index 550d22e..ce5b47c 100644 --- a/p-allocator.cc +++ b/p-allocator.cc @@ -6,12 +6,16 @@ extern uint8_t end[]; uint8_t* heap_top; uint8_t* stack_bottom; +// turn off optimization to facilitate debugging of forking new copies +#pragma GCC push_options +#pragma GCC optimize ("O0") + void process_main() { sys_kdisplay(KDISPLAY_MEMVIEWER); // Fork three new copies. (But ignore failures.) - (void) sys_fork(); - (void) sys_fork(); + pid_t pid1 = sys_fork(); + pid_t pid2 = sys_fork(); pid_t p = sys_getpid(); srand(p); @@ -48,3 +52,5 @@ void process_main() { sys_yield(); } } + +#pragma GCC pop_options From c38df1211dfca2b681df9f5dd2f9bb2641e2a889 Mon Sep 17 00:00:00 2001 From: James Foster Date: Sun, 22 Mar 2020 21:59:24 -0700 Subject: [PATCH 2/2] Disable warning of unused variable. --- p-allocator.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/p-allocator.cc b/p-allocator.cc index ce5b47c..9812c25 100644 --- a/p-allocator.cc +++ b/p-allocator.cc @@ -14,8 +14,11 @@ void process_main() { sys_kdisplay(KDISPLAY_MEMVIEWER); // Fork three new copies. (But ignore failures.) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-variable" pid_t pid1 = sys_fork(); pid_t pid2 = sys_fork(); +#pragma GCC diagnostic pop pid_t p = sys_getpid(); srand(p);