projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add SIGILL signal handler
[fio.git]
/
fio.c
diff --git
a/fio.c
b/fio.c
index cedbfb0d44e61bce100fbe5bf1b902d5b4a91ebe..ee752e1266aaf88350eb10eb3ee4d757945b0066 100644
(file)
--- a/
fio.c
+++ b/
fio.c
@@
-125,6
+125,17
@@
static void sig_int(int sig)
}
}
}
}
+static void sig_ill(int sig)
+{
+ if (!threads)
+ return;
+
+ log_err("fio: illegal instruction. your cpu does not support "
+ "the sse4.2 instruction for crc32c\n");
+ terminate_threads(TERMINATE_ALL);
+ exit(4);
+}
+
static void set_sig_handlers(void)
{
struct sigaction act;
static void set_sig_handlers(void)
{
struct sigaction act;
@@
-138,6
+149,11
@@
static void set_sig_handlers(void)
act.sa_handler = sig_int;
act.sa_flags = SA_RESTART;
sigaction(SIGINT, &act, NULL);
act.sa_handler = sig_int;
act.sa_flags = SA_RESTART;
sigaction(SIGINT, &act, NULL);
+
+ memset(&act, 0, sizeof(act));
+ act.sa_handler = sig_ill;
+ act.sa_flags = SA_RESTART;
+ sigaction(SIGILL, &act, NULL);
}
/*
}
/*