X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/db4d7d52fa00cc2fd3f25d971f57b73406d816ba..eb251af8672e033f29322253f136e09c76f2b0a3:/lunaix-os/kernel/demos/signal_demo.c 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