[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RISU PATCH v4 03/29] Hoist trace file and socket opening
From: |
Richard Henderson |
Subject: |
[RISU PATCH v4 03/29] Hoist trace file and socket opening |
Date: |
Fri, 8 Jul 2022 21:16:34 +0530 |
We will want to share this code with --dump.
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>
---
v3: Hoist socket connecting as well as trace file opening.
---
risu.c | 49 +++++++++++++++++++++++--------------------------
1 file changed, 23 insertions(+), 26 deletions(-)
diff --git a/risu.c b/risu.c
index 059348f..2f6a677 100644
--- a/risu.c
+++ b/risu.c
@@ -363,6 +363,29 @@ int main(int argc, char **argv)
}
}
+ if (trace) {
+ if (strcmp(trace_fn, "-") == 0) {
+ comm_fd = ismaster ? STDOUT_FILENO : STDIN_FILENO;
+ } else {
+ if (ismaster) {
+ comm_fd = open(trace_fn, O_WRONLY | O_CREAT, S_IRWXU);
+ } else {
+ comm_fd = open(trace_fn, O_RDONLY);
+ }
+#ifdef HAVE_ZLIB
+ gz_trace_file = gzdopen(comm_fd, ismaster ? "wb9" : "rb");
+#endif
+ }
+ } else {
+ if (ismaster) {
+ fprintf(stderr, "master port %d\n", port);
+ comm_fd = master_connect(port);
+ } else {
+ fprintf(stderr, "apprentice host %s port %d\n", hostname, port);
+ comm_fd = apprentice_connect(hostname, port);
+ }
+ }
+
imgfile = argv[optind];
if (!imgfile) {
fprintf(stderr, "Error: must specify image file name\n\n");
@@ -373,34 +396,8 @@ int main(int argc, char **argv)
load_image(imgfile);
if (ismaster) {
- if (trace) {
- if (strcmp(trace_fn, "-") == 0) {
- comm_fd = STDOUT_FILENO;
- } else {
- comm_fd = open(trace_fn, O_WRONLY | O_CREAT, S_IRWXU);
-#ifdef HAVE_ZLIB
- gz_trace_file = gzdopen(comm_fd, "wb9");
-#endif
- }
- } else {
- fprintf(stderr, "master port %d\n", port);
- comm_fd = master_connect(port);
- }
return master();
} else {
- if (trace) {
- if (strcmp(trace_fn, "-") == 0) {
- comm_fd = STDIN_FILENO;
- } else {
- comm_fd = open(trace_fn, O_RDONLY);
-#ifdef HAVE_ZLIB
- gz_trace_file = gzdopen(comm_fd, "rb");
-#endif
- }
- } else {
- fprintf(stderr, "apprentice host %s port %d\n", hostname, port);
- comm_fd = apprentice_connect(hostname, port);
- }
return apprentice();
}
}
--
2.34.1
- [RISU PATCH v4 00/29] risu cleanups and improvements, Richard Henderson, 2022/07/08
- [RISU PATCH v4 01/29] Use bool for tracing variables, Richard Henderson, 2022/07/08
- [RISU PATCH v4 02/29] Unify master_fd and apprentice_fd to comm_fd, Richard Henderson, 2022/07/08
- [RISU PATCH v4 03/29] Hoist trace file and socket opening,
Richard Henderson <=
- [RISU PATCH v4 04/29] Adjust tracefile open for write, Richard Henderson, 2022/07/08
- [RISU PATCH v4 05/29] Use EXIT_FAILURE, EXIT_SUCCESS, Richard Henderson, 2022/07/08
- [RISU PATCH v4 06/29] Make some risu.c symbols static, Richard Henderson, 2022/07/08
- [RISU PATCH v4 07/29] Add enum RisuOp, Richard Henderson, 2022/07/08
- [RISU PATCH v4 08/29] Add enum RisuResult, Richard Henderson, 2022/07/08
- [RISU PATCH v4 09/29] Unify i/o functions and use RisuResult, Richard Henderson, 2022/07/08
- [RISU PATCH v4 10/29] Pass non-OK result back through siglongjmp, Richard Henderson, 2022/07/08
- [RISU PATCH v4 12/29] Simplify syncing with master, Richard Henderson, 2022/07/08
- [RISU PATCH v4 13/29] Split RES_MISMATCH for registers and memory, Richard Henderson, 2022/07/08
- [RISU PATCH v4 11/29] Always write for --master, Richard Henderson, 2022/07/08