diff options
author | Tomohiro Kusumi <[email protected]> | 2019-04-10 01:58:03 +0900 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2019-04-30 20:45:17 -0700 |
commit | 5b1443c47e4ae5c53f343f3d0fb81d8d963c3d95 (patch) | |
tree | b46351f14f7870ba4431a1cf6fef6ea6a3ec96ed /tests/zfs-tests/cmd | |
parent | f0ce0436aa801a5b281f93a456d394fe141034f7 (diff) |
Use sigaction(2) instead of sigset(3) for portability
sigset(3) isn't portable.
This code fails to compile on platforms without sigset(3).
Use sigaction(2).
--
largest_file.c: In function 'main':
largest_file.c:75:9: error: implicit declaration of function 'sigset'; did you mean 'sigvec'? [-Werror=implicit-function-declaration]
(void) sigset(SIGXFSZ, sigxfsz);
^~~~~~
sigvec
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Tomohiro Kusumi <[email protected]>
Closes #8593
Diffstat (limited to 'tests/zfs-tests/cmd')
-rw-r--r-- | tests/zfs-tests/cmd/largest_file/largest_file.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/tests/zfs-tests/cmd/largest_file/largest_file.c b/tests/zfs-tests/cmd/largest_file/largest_file.c index 5e6a18660..d1eceaf56 100644 --- a/tests/zfs-tests/cmd/largest_file/largest_file.c +++ b/tests/zfs-tests/cmd/largest_file/largest_file.c @@ -67,12 +67,18 @@ main(int argc, char **argv) char mybuf[5] = "aaaa\0"; char *testfile; mode_t mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH; + struct sigaction sa; if (argc != 2) { usage(argv[0]); } - (void) sigset(SIGXFSZ, sigxfsz); + if (sigemptyset(&sa.sa_mask) == -1) + return (errno); + sa.sa_flags = 0; + sa.sa_handler = sigxfsz; + if (sigaction(SIGXFSZ, &sa, NULL) == -1) + return (errno); testfile = strdup(argv[1]); |