From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-it0-f46.google.com ([209.85.214.46]:54561 "EHLO mail-it0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752453AbeCWNaT (ORCPT ); Fri, 23 Mar 2018 09:30:19 -0400 Received: by mail-it0-f46.google.com with SMTP id w3-v6so2587726itc.4 for ; Fri, 23 Mar 2018 06:30:19 -0700 (PDT) From: Roman Mashak To: Stefano Brivio Cc: Stephen Hemminger , netdev@vger.kernel.org Subject: Re: [PATCH iproute2] ss: Fix rendering of continuous output (-E, --events) References: <9cdf9f3efbc64f517906a45f67ab6e573f9e9292.1521793677.git.sbrivio@redhat.com> Date: Fri, 23 Mar 2018 09:30:17 -0400 In-Reply-To: <9cdf9f3efbc64f517906a45f67ab6e573f9e9292.1521793677.git.sbrivio@redhat.com> (Stefano Brivio's message of "Fri, 23 Mar 2018 09:37:05 +0100") Message-ID: <85woy2ly1i.fsf@mojatatu.com> MIME-Version: 1.0 Content-Type: text/plain Sender: netdev-owner@vger.kernel.org List-ID: Stefano Brivio writes: > Roman Mashak reported that ss currently shows no output when it > should continuously report information about terminated sockets > (-E, --events switch). > > This happens because I missed this case in 691bd854bf4a ("ss: > Buffer raw fields first, then render them as a table") and the > rendering function is simply not called. > > To fix this, we need to: > > - call render() every time we need to display new socket events > from generic_show_sock(), which is only used to follow events. > Always call it even if specific socket display functions > return errors to ensure we clean up buffers > > - get the screen width every time we have new events to display, > thus factor out getting the screen width from main() into a > function we'll call whenever we calculate columns width > > - reset the current field pointer after rendering, more output > might come after render() is called > > Reported-by: Roman Mashak > Fixes: 691bd854bf4a ("ss: Buffer raw fields first, then render them as a table") > Signed-off-by: Stefano Brivio Thanks Stefano. Tested-by: Roman Mashak