X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/9d62069fd52fa2108b677ffadc7f6138c7641757..88875b2cc15a6f24c6ab0168a57df15ad8ab7179:/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