[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RISU PATCH v5 10/13] risu: handle trace through stdin/
From: |
Alex Bennée |
Subject: |
Re: [Qemu-devel] [RISU PATCH v5 10/13] risu: handle trace through stdin/stdout |
Date: |
Tue, 20 Jun 2017 15:58:52 +0100 |
User-agent: |
mu4e 0.9.19; emacs 25.2.50.3 |
Peter Maydell <address@hidden> writes:
> On 19 June 2017 at 11:46, Alex Bennée <address@hidden> wrote:
>> Trace files can get quite large so it would be useful to be able to
>> just capture the trace stream with stdin/stdout for processing in a
>> pipe line. The sort of case where this is useful is for building
>> static binaries where zlib support is missing for whatever reason.
>>
>> It can also be used in testing pipelines.
>>
>> Signed-off-by: Alex Bennée <address@hidden>
>> ---
>> risu.c | 12 ++++++++++--
>> 1 file changed, 10 insertions(+), 2 deletions(-)
>>
>> diff --git a/risu.c b/risu.c
>> index 93c274b..e94b54b 100644
>> --- a/risu.c
>> +++ b/risu.c
>> @@ -312,7 +312,11 @@ int main(int argc, char **argv)
>>
>> if (ismaster) {
>> if (trace) {
>> - master_fd = open(trace_fn, O_WRONLY|O_CREAT, S_IRWXU);
>> + if (strncmp(trace_fn, "-", strlen(trace_fn))==0) {
>
> Why not just strcmp() ?
Years of habit...
>
>> + master_fd = fileno(stdout);
>
> = STDOUT_FILENO;
heh , the original version used that. I'll put it back.
>
>> + } else {
>> + master_fd = open(trace_fn, O_WRONLY|O_CREAT, S_IRWXU);
>> + }
>> } else {
>> fprintf(stderr, "master port %d\n", port);
>> master_fd = master_connect(port);
>> @@ -320,7 +324,11 @@ int main(int argc, char **argv)
>> return master();
>> } else {
>> if (trace) {
>> - apprentice_fd = open(trace_fn, O_RDONLY);
>> + if (strncmp(trace_fn, "-", strlen(trace_fn))==0) {
>> + apprentice_fd = fileno(stdin);
>
> = STDIN_FILENO;
>
>> + } else {
>> + apprentice_fd = open(trace_fn, O_RDONLY);
>> + }
>> } else {
>> fprintf(stderr, "apprentice host %s port %d\n", hostname, port);
>> apprentice_fd = apprentice_connect(hostname, port);
>> --
>> 2.13.0
>>
>
> thanks
> -- PMM
--
Alex Bennée
- Re: [Qemu-devel] [RISU PATCH v5 05/13] build-all-archs: support cross building via docker, (continued)
- [Qemu-devel] [RISU PATCH v5 07/13] risu: paramterise send/receive functions, Alex Bennée, 2017/06/19
- [Qemu-devel] [RISU PATCH v5 06/13] risu: a bit more verbosity when starting, Alex Bennée, 2017/06/19
- [Qemu-devel] [RISU PATCH v5 08/13] risu: add header to trace stream, Alex Bennée, 2017/06/19
- [Qemu-devel] [RISU PATCH v5 10/13] risu: handle trace through stdin/stdout, Alex Bennée, 2017/06/19
- [Qemu-devel] [RISU PATCH v5 03/13] all: fix up code consitency, Alex Bennée, 2017/06/19
- [Qemu-devel] [RISU PATCH v5 09/13] risu: add simple trace and replay support, Alex Bennée, 2017/06/19
- [Qemu-devel] [RISU PATCH v5 13/13] new: run_risu.sh script, Alex Bennée, 2017/06/19
- [Qemu-devel] [RISU PATCH v5 12/13] new: record_traces.sh helper script, Alex Bennée, 2017/06/19