From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 78822 invoked by alias); 2 Feb 2017 20:42:09 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 78772 invoked by uid 89); 2 Feb 2017 20:42:08 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.2 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,SPF_SOFTFAIL autolearn=no version=3.3.2 spammy=H*i:sk:eea863e, H*f:sk:eea863e X-HELO: simark.ca Received: from simark.ca (HELO simark.ca) (158.69.221.121) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 02 Feb 2017 20:42:04 +0000 Received: by simark.ca (Postfix, from userid 33) id AC9271E163; Thu, 2 Feb 2017 15:42:02 -0500 (EST) To: Pedro Alves Subject: Re: [PATCH] Move "tee" building down to interpreter::set_logging_proc X-PHP-Originating-Script: 33:rcube.php MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Thu, 02 Feb 2017 20:42:00 -0000 From: Simon Marchi Cc: gdb-patches@sourceware.org In-Reply-To: References: <1486045694-22866-1-git-send-email-palves@redhat.com> <1fc904d1eef0f26d27539a2b2b4da5ab@polymtl.ca> Message-ID: <3047e09325f39e0acf745009c17d75d1@polymtl.ca> X-Sender: simon.marchi@polymtl.ca User-Agent: Roundcube Webmail/1.2.3 X-IsSubscribed: yes X-SW-Source: 2017-02/txt/msg00075.txt.bz2 On 2017-02-02 13:04, Pedro Alves wrote: > On 02/02/2017 05:44 PM, Simon Marchi wrote: > >> Yeah sounds good. >> >> Though the pre-existing sentence "...if the output streams are to be >> tees" is not that clear to me, I'm not sure I would understand if I >> didn't already know what the function does. Why does it talk about >> multiple output streams that have to be tees, isn't there only one >> tee? >> Or is it meant to be a past tense verb, in which case it should be >> something like "...are to be tee-ed"? I just find the formulation >> awkward. > > I think it's saying that all of "gdb_stdout, gdb_stderr, gdb_stdlog", > etc. > should all end up as tees. They happens to end up as the same tee > object, but it's true that they're all tees. > > How about this? > > diff --git i/gdb/cli/cli-interp.h w/gdb/cli/cli-interp.h > index abae3d6..accecfa 100644 > --- i/gdb/cli/cli-interp.h > +++ w/gdb/cli/cli-interp.h > @@ -21,12 +21,14 @@ > struct interp; > > /* Make the output ui_file to use when logging is enabled. > - CURR_OUTPUT is the current stream where output is currently being > - sent to. LOGFILE is the already-open log file. LOGGING_REDIRECT > - is true if the output is to be the logfile, and false if the output > - stream is to be a tee, with the log file as one of the outputs. > - Ownership of the log file is transferred to the returned output > - file. The returned output file is an owning pointer. */ > + CURR_OUTPUT is the stream where output is currently being sent to > + (e.g., gdb_stdout for the CLI, raw output stream for the MI). > + LOGFILE is log file already opened by the caller. LOGGING_REDIRECT > + is the value of the "set logging redirect" setting. If true, the > + resulting output is the logfile. If false, the output stream is a > + tee, with the log file as one of the outputs. Ownership of LOGFILE > + is transferred to the returned output file, which is an owning > + pointer. */ > extern ui_file *make_logging_output (ui_file *curr_output, > ui_file_up logfile, > bool logging_redirect); > diff --git i/gdb/interps.h w/gdb/interps.h > index 7672393..ef2ceeb 100644 > --- i/gdb/interps.h > +++ w/gdb/interps.h > @@ -111,9 +111,11 @@ extern int current_interp_named_p (const char > *name); > to do any special handling of streams when logging is enabled or > disabled. LOGFILE is the stream for the log file when logging is > starting and is NULL when logging is ending. LOGGING_REDIRECT is > - false if the output streams are to be tees, with the log file as > - one of the outputs. */ > - > + the value of the "set logging redirect" setting. If true, the > + interpreter should configure the output streams to send output only > + to the logfile. If false, the interpreter should configure the > + output streams to send output to both the current output stream > + (i.e., the terminal) and the log file. */ > extern void current_interp_set_logging (ui_file_up logfile, > bool logging_redirect); LGTM!