[ovs-dev] [PATCH v2] ovs-dpctl-top: Open stdin in binary mode

Flavio Leitner fbl at sysclose.org
Fri Aug 7 14:17:56 UTC 2020


On Fri, Jun 19, 2020 at 03:53:51PM +0200, Timothy Redaelli wrote:
> On Python3 buffering can only be disabled on files opened in binary mode.
> 
> Signed-off-by: Timothy Redaelli <tredaelli at redhat.com>
> ---
> v2:
> - Added missing Signed-off-by
> 
>  utilities/ovs-dpctl-top.in | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/utilities/ovs-dpctl-top.in b/utilities/ovs-dpctl-top.in
> index fbe6e4f56..97dc12f27 100755
> --- a/utilities/ovs-dpctl-top.in
> +++ b/utilities/ovs-dpctl-top.in
> @@ -1236,7 +1236,7 @@ def flows_script(args):
> 
>      if (args.flowFiles is None):
>          logging.info("reading flows from stdin")
> -        ihdl = os.fdopen(sys.stdin.fileno(), 'r', 0)
> +        ihdl = os.fdopen(sys.stdin.fileno(), 'rb', 0)


Although this patch solves the issue, the binary seems to be not
intended to use with text. The flows_read() will call readline()
which deals with text (newlines, encoding/decoding, ...).

Perhaps we could stop using buffering?
@@ -1234,7 +1236,7 @@ def flows_script(args):
 
     if (args.flowFiles is None):
         logging.info("reading flows from stdin")
-        ihdl = os.fdopen(sys.stdin.fileno(), 'r', 0)
+        ihdl = os.fdopen(sys.stdin.fileno(), 'r')
         try:
             flow_db = flows_read(ihdl, flow_db)
         finally:


Thanks!
fbl

>          try:
>              flow_db = flows_read(ihdl, flow_db)
>          finally:
> --
> 2.26.2
> 
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev

-- 
fbl


More information about the dev mailing list