X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/714e732504021937171665407133851ad9f3e68b..874b3b5a74d815aa91f325e5573052a3c8ce1d39:/lunaix-os/kernel/demos/signal_demo.c?ds=sidebyside diff --git a/lunaix-os/kernel/demos/signal_demo.c b/lunaix-os/kernel/demos/signal_demo.c index 87b6304..e5f9533 100644 --- a/lunaix-os/kernel/demos/signal_demo.c +++ b/lunaix-os/kernel/demos/signal_demo.c @@ -28,6 +28,10 @@ sigalrm_handler(int signum) kprintf(KWARN "I, pid %d, have received an alarm!\n", pid); } +// FIXME: Race condition with signal (though rare!) +// For some reason, there is a chance that iret in soft_iret path +// get unhappy when return from signal handler. Investigation is needed! + void __USER__ _signal_demo_main() { @@ -79,5 +83,5 @@ _signal_demo_main() kprintf("done\n"); - spin(); + _exit(0); } \ No newline at end of file