From: Richard Henderson <richard.henderson@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-arm@nongnu.org, "Alex Bennée" <alex.bennee@linaro.org>,
"Peter Maydell" <peter.maydell@linaro.org>
Subject: [RISU PATCH v4 05/29] Use EXIT_FAILURE, EXIT_SUCCESS
Date: Fri, 8 Jul 2022 21:16:36 +0530 [thread overview]
Message-ID: <20220708154700.18682-6-richard.henderson@linaro.org> (raw)
In-Reply-To: <20220708154700.18682-1-richard.henderson@linaro.org>
Some of the time we exit via the return value from main.
This can make it easier to tell what it is we're returning.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
comms.c | 26 +++++++++++++-------------
risu.c | 22 +++++++++++-----------
risu_reginfo_aarch64.c | 4 ++--
risu_reginfo_i386.c | 2 +-
4 files changed, 27 insertions(+), 27 deletions(-)
diff --git a/comms.c b/comms.c
index 6946fd9..861e845 100644
--- a/comms.c
+++ b/comms.c
@@ -31,7 +31,7 @@ int apprentice_connect(const char *hostname, int port)
sock = socket(PF_INET, SOCK_STREAM, 0);
if (sock < 0) {
perror("socket");
- exit(1);
+ exit(EXIT_FAILURE);
}
struct hostent *hostinfo;
sa.sin_family = AF_INET;
@@ -39,12 +39,12 @@ int apprentice_connect(const char *hostname, int port)
hostinfo = gethostbyname(hostname);
if (!hostinfo) {
fprintf(stderr, "Unknown host %s\n", hostname);
- exit(1);
+ exit(EXIT_FAILURE);
}
sa.sin_addr = *(struct in_addr *) hostinfo->h_addr;
if (connect(sock, (struct sockaddr *) &sa, sizeof(sa)) < 0) {
perror("connect");
- exit(1);
+ exit(EXIT_FAILURE);
}
return sock;
}
@@ -56,13 +56,13 @@ int master_connect(int port)
sock = socket(PF_INET, SOCK_STREAM, 0);
if (sock < 0) {
perror("socket");
- exit(1);
+ exit(EXIT_FAILURE);
}
int sora = 1;
if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &sora, sizeof(sora)) !=
0) {
perror("setsockopt(SO_REUSEADDR)");
- exit(1);
+ exit(EXIT_FAILURE);
}
sa.sin_family = AF_INET;
@@ -70,11 +70,11 @@ int master_connect(int port)
sa.sin_addr.s_addr = htonl(INADDR_ANY);
if (bind(sock, (struct sockaddr *) &sa, sizeof(sa)) < 0) {
perror("bind");
- exit(1);
+ exit(EXIT_FAILURE);
}
if (listen(sock, 1) < 0) {
perror("listen");
- exit(1);
+ exit(EXIT_FAILURE);
}
/* Just block until we get a connection */
fprintf(stderr, "master: waiting for connection on port %d...\n",
@@ -84,7 +84,7 @@ int master_connect(int port)
int nsock = accept(sock, (struct sockaddr *) &csa, &csasz);
if (nsock < 0) {
perror("accept");
- exit(1);
+ exit(EXIT_FAILURE);
}
/* We're done with the server socket now */
close(sock);
@@ -104,7 +104,7 @@ static void recv_bytes(int sock, void *pkt, int pktlen)
continue;
}
perror("read failed");
- exit(1);
+ exit(EXIT_FAILURE);
}
pktlen -= i;
p += i;
@@ -127,7 +127,7 @@ static void recv_and_discard_bytes(int sock, int pktlen)
continue;
}
perror("read failed");
- exit(1);
+ exit(EXIT_FAILURE);
}
pktlen -= i;
}
@@ -186,12 +186,12 @@ int send_data_pkt(int sock, void *pkt, int pktlen)
if (safe_writev(sock, iov, 2) == -1) {
perror("writev failed");
- exit(1);
+ exit(EXIT_FAILURE);
}
if (read(sock, &resp, 1) != 1) {
perror("read failed");
- exit(1);
+ exit(EXIT_FAILURE);
}
return resp;
}
@@ -217,6 +217,6 @@ void send_response_byte(int sock, int resp)
unsigned char r = resp;
if (write(sock, &r, 1) != 1) {
perror("write failed");
- exit(1);
+ exit(EXIT_FAILURE);
}
}
diff --git a/risu.c b/risu.c
index 819b786..26dc116 100644
--- a/risu.c
+++ b/risu.c
@@ -153,13 +153,13 @@ void apprentice_sigill(int sig, siginfo_t *si, void *uc)
return;
case 1:
/* end of test */
- exit(0);
+ exit(EXIT_SUCCESS);
default:
/* mismatch */
if (trace) {
siglongjmp(jmpbuf, 1);
}
- exit(1);
+ exit(EXIT_FAILURE);
}
}
@@ -173,7 +173,7 @@ static void set_sigill_handler(void (*fn) (int, siginfo_t *, void *))
sigemptyset(&sa.sa_mask);
if (sigaction(SIGILL, &sa, 0) != 0) {
perror("sigaction");
- exit(1);
+ exit(EXIT_FAILURE);
}
}
@@ -190,11 +190,11 @@ void load_image(const char *imgfile)
int fd = open(imgfile, O_RDONLY);
if (fd < 0) {
fprintf(stderr, "failed to open image file %s\n", imgfile);
- exit(1);
+ exit(EXIT_FAILURE);
}
if (fstat(fd, &st) != 0) {
perror("fstat");
- exit(1);
+ exit(EXIT_FAILURE);
}
size_t len = st.st_size;
void *addr;
@@ -207,7 +207,7 @@ void load_image(const char *imgfile)
0);
if (!addr) {
perror("mmap");
- exit(1);
+ exit(EXIT_FAILURE);
}
close(fd);
image_start = addr;
@@ -226,7 +226,7 @@ int master(void)
if (trace) {
fprintf(stderr, "trace complete after %zd checkpoints\n",
signal_count);
- return 0;
+ return EXIT_SUCCESS;
} else {
return report_match_status(false);
}
@@ -237,7 +237,7 @@ int master(void)
fprintf(stderr, "starting image\n");
image_start();
fprintf(stderr, "image returned unexpectedly\n");
- exit(1);
+ return EXIT_FAILURE;
}
int apprentice(void)
@@ -258,7 +258,7 @@ int apprentice(void)
fprintf(stderr, "starting image\n");
image_start();
fprintf(stderr, "image returned unexpectedly\n");
- exit(1);
+ return EXIT_FAILURE;
}
int ismaster;
@@ -355,7 +355,7 @@ int main(int argc, char **argv)
break;
case '?':
usage();
- exit(1);
+ return EXIT_FAILURE;
default:
assert(c >= FIRST_ARCH_OPT);
process_arch_opt(c, optarg);
@@ -390,7 +390,7 @@ int main(int argc, char **argv)
if (!imgfile) {
fprintf(stderr, "Error: must specify image file name\n\n");
usage();
- exit(1);
+ return EXIT_FAILURE;
}
load_image(imgfile);
diff --git a/risu_reginfo_aarch64.c b/risu_reginfo_aarch64.c
index 00d1c8b..028c690 100644
--- a/risu_reginfo_aarch64.c
+++ b/risu_reginfo_aarch64.c
@@ -51,7 +51,7 @@ void process_arch_opt(int opt, const char *arg)
if (test_sve <= 0 || test_sve > SVE_VQ_MAX) {
fprintf(stderr, "Invalid value for VQ (1-%d)\n", SVE_VQ_MAX);
- exit(1);
+ exit(EXIT_FAILURE);
}
want = sve_vl_from_vq(test_sve);
got = prctl(PR_SVE_SET_VL, want);
@@ -62,7 +62,7 @@ void process_arch_opt(int opt, const char *arg)
fprintf(stderr, "Unsupported value for VQ (%d != %d)\n",
test_sve, (int)sve_vq_from_vl(got));
}
- exit(1);
+ exit(EXIT_FAILURE);
}
#else
abort();
diff --git a/risu_reginfo_i386.c b/risu_reginfo_i386.c
index 194e0ad..60fc239 100644
--- a/risu_reginfo_i386.c
+++ b/risu_reginfo_i386.c
@@ -69,7 +69,7 @@ void process_arch_opt(int opt, const char *arg)
fprintf(stderr,
"Unable to parse '%s' in '%s' into an xfeatures integer mask\n",
endptr, arg);
- exit(1);
+ exit(EXIT_FAILURE);
}
}
}
--
2.34.1
next prev parent reply other threads:[~2022-07-08 15:54 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-08 15:46 [RISU PATCH v4 00/29] risu cleanups and improvements Richard Henderson
2022-07-08 15:46 ` [RISU PATCH v4 01/29] Use bool for tracing variables Richard Henderson
2022-07-08 15:46 ` [RISU PATCH v4 02/29] Unify master_fd and apprentice_fd to comm_fd Richard Henderson
2022-07-08 15:46 ` [RISU PATCH v4 03/29] Hoist trace file and socket opening Richard Henderson
2022-07-08 15:46 ` [RISU PATCH v4 04/29] Adjust tracefile open for write Richard Henderson
2022-07-08 15:46 ` Richard Henderson [this message]
2022-07-08 15:46 ` [RISU PATCH v4 06/29] Make some risu.c symbols static Richard Henderson
2022-07-08 15:46 ` [RISU PATCH v4 07/29] Add enum RisuOp Richard Henderson
2022-07-08 15:46 ` [RISU PATCH v4 08/29] Add enum RisuResult Richard Henderson
2022-07-08 15:46 ` [RISU PATCH v4 09/29] Unify i/o functions and use RisuResult Richard Henderson
2022-07-08 15:46 ` [RISU PATCH v4 10/29] Pass non-OK result back through siglongjmp Richard Henderson
2022-07-08 15:46 ` [RISU PATCH v4 11/29] Always write for --master Richard Henderson
2022-07-08 15:46 ` [RISU PATCH v4 12/29] Simplify syncing with master Richard Henderson
2022-07-08 15:46 ` [RISU PATCH v4 13/29] Split RES_MISMATCH for registers and memory Richard Henderson
2022-07-08 15:46 ` [RISU PATCH v4 14/29] Merge reginfo.c into risu.c Richard Henderson
2022-07-18 10:46 ` Peter Maydell
2022-07-08 15:46 ` [RISU PATCH v4 15/29] Rearrange reginfo and memblock buffers Richard Henderson
2022-07-18 10:46 ` Peter Maydell
2022-07-08 15:46 ` [RISU PATCH v4 16/29] Split out recv_register_info Richard Henderson
2022-07-18 10:48 ` Peter Maydell
2022-07-08 15:46 ` [RISU PATCH v4 17/29] Add magic and size to the trace header Richard Henderson
2022-07-18 10:51 ` Peter Maydell
2022-07-08 15:46 ` [RISU PATCH v4 18/29] Compute reginfo_size based on the reginfo Richard Henderson
2022-07-18 11:37 ` Peter Maydell
2022-07-08 15:46 ` [RISU PATCH v4 19/29] aarch64: Assume system support for SVE Richard Henderson
2022-07-18 11:38 ` Peter Maydell
2022-07-08 15:46 ` [RISU PATCH v4 20/29] aarch64: Reorg sve reginfo to save space Richard Henderson
2022-07-18 11:40 ` Peter Maydell
2022-07-08 15:46 ` [RISU PATCH v4 21/29] aarch64: Use arch_init to configure sve Richard Henderson
2022-07-18 11:44 ` Peter Maydell
2022-07-08 15:46 ` [RISU PATCH v4 22/29] ppc64: Use uint64_t to represent double Richard Henderson
2022-07-12 11:17 ` Matheus K. Ferst
2022-07-08 15:46 ` [RISU PATCH v4 23/29] Standardize reginfo_dump_mismatch printing Richard Henderson
2022-07-18 11:54 ` Peter Maydell
2022-07-08 15:46 ` [RISU PATCH v4 24/29] Add --fulldump and --diffdup options Richard Henderson
2022-07-18 12:06 ` Peter Maydell
2022-07-08 15:46 ` [RISU PATCH v4 25/29] Remove return value from reginfo_dump Richard Henderson
2022-07-18 11:55 ` Peter Maydell
2022-07-08 15:46 ` [RISU PATCH v4 26/29] ppc64: Clean up reginfo handling Richard Henderson
2022-07-12 11:17 ` Matheus K. Ferst
2022-07-08 15:46 ` [RISU PATCH v4 27/29] aarch64: Tidy reginfo dumping ahead of ZA state Richard Henderson
2022-07-18 12:08 ` Peter Maydell
2022-07-08 15:46 ` [RISU PATCH v4 28/29] aarch64: Add support for ZA storage Richard Henderson
2022-07-18 12:09 ` Peter Maydell
2022-07-08 15:47 ` [RISU PATCH v4 29/29] aarch64: Trivial SME test Richard Henderson
2022-07-18 12:11 ` Peter Maydell
2022-07-18 12:19 ` [RISU PATCH v4 00/29] risu cleanups and improvements Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220708154700.18682-6-richard.henderson@linaro.org \
--to=richard.henderson@linaro.org \
--cc=alex.bennee@linaro.org \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).