[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RISU v2 03/17] Hoist trace file opening
From: |
Richard Henderson |
Subject: |
[RISU v2 03/17] Hoist trace file opening |
Date: |
Mon, 18 May 2020 19:53:41 -0700 |
We will want to share this code with --dump.
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
---
risu.c | 37 +++++++++++++++++--------------------
1 file changed, 17 insertions(+), 20 deletions(-)
diff --git a/risu.c b/risu.c
index 059348f..1c66885 100644
--- a/risu.c
+++ b/risu.c
@@ -363,6 +363,21 @@ 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
+ }
+ }
+
imgfile = argv[optind];
if (!imgfile) {
fprintf(stderr, "Error: must specify image file name\n\n");
@@ -373,31 +388,13 @@ 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 {
+ if (!trace) {
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 {
+ if (!trace) {
fprintf(stderr, "apprentice host %s port %d\n", hostname, port);
comm_fd = apprentice_connect(hostname, port);
}
--
2.20.1
- [RISU v2 00/17] risu cleanups and improvements, Richard Henderson, 2020/05/18
- [RISU v2 01/17] Use bool for tracing variables, Richard Henderson, 2020/05/18
- [RISU v2 02/17] Unify master_fd and apprentice_fd to comm_fd, Richard Henderson, 2020/05/18
- [RISU v2 03/17] Hoist trace file opening,
Richard Henderson <=
- [RISU v2 04/17] Adjust tracefile open for write, Richard Henderson, 2020/05/18
- [RISU v2 05/17] Use EXIT_FAILURE, EXIT_SUCCESS, Richard Henderson, 2020/05/18
- [RISU v2 06/17] Make some risu.c symbols static, Richard Henderson, 2020/05/18
- [RISU v2 07/17] Add enum RisuOp, Richard Henderson, 2020/05/18
- [RISU v2 08/17] Add enum RisuResult, Richard Henderson, 2020/05/18