[RISU v2 03/17] Hoist trace file opening

Richard Henderson posted 17 patches 5 years, 5 months ago
There is a newer version of this series
[RISU v2 03/17] Hoist trace file opening
Posted by Richard Henderson 5 years, 5 months ago
We will want to share this code with --dump.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 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


Re: [RISU v2 03/17] Hoist trace file opening
Posted by Alex Bennée 5 years, 5 months ago
Richard Henderson <richard.henderson@linaro.org> writes:

> We will want to share this code with --dump.
>
> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>

> ---
>  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);
>          }


-- 
Alex Bennée