Cleanup up SIGILL for crc32c-intel
authorJens Axboe <jaxboe@fusionio.com>
Mon, 21 Jun 2010 12:36:11 +0000 (14:36 +0200)
committerJens Axboe <jaxboe@fusionio.com>
Mon, 21 Jun 2010 12:36:11 +0000 (14:36 +0200)
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
fio.c

diff --git a/fio.c b/fio.c
index ae62d23329839c1c9bc28c5f57a6a826cb42c6f1..5f29e28bc2d0b3f529afe808ebb2838c0cc80515 100644 (file)
--- a/fio.c
+++ b/fio.c
@@ -147,10 +147,8 @@ static void sig_ill(int fio_unused sig)
        if (!threads)
                return;
 
-       log_err("fio: illegal instruction. your cpu does not support "
-               "the sse4.2 instruction for crc32c\n");
+       log_err("fio: system does not support the sse4.2 instruction for crc32c-intel.\nUse crc32c instead.");
        terminate_threads(TERMINATE_ALL);
-       exit(4);
 }
 
 static void set_sig_handlers(void)
@@ -169,7 +167,7 @@ static void set_sig_handlers(void)
 
        memset(&act, 0, sizeof(act));
        act.sa_handler = sig_ill;
-       act.sa_flags = SA_RESTART;
+       act.sa_flags = SA_RESETHAND;
        sigaction(SIGILL, &act, NULL);
 
        memset(&act, 0, sizeof(act));