diff --git a/SOURCES/ps_mem.py b/SOURCES/ps_mem.py index 529acb6..2f21845 100644 --- a/SOURCES/ps_mem.py +++ b/SOURCES/ps_mem.py @@ -78,6 +78,7 @@ import time import errno import os import sys +import io # The following exits cleanly on Ctrl-C or EPIPE # while treating other exceptions as before. @@ -100,6 +101,16 @@ our_pid = os.getpid() have_pss = 0 +class Unbuffered(io.TextIOBase): + def __init__(self, stream): + super().__init__() + self.stream = stream + def write(self, data): + self.stream.write(data) + self.stream.flush() + def close(self): + self.stream.close() + class Proc: def __init__(self): uname = os.uname() @@ -454,6 +465,9 @@ def verify_environment(): raise def main(): + sys.stdout = Unbuffered(sys.stdout) + sys.stderr = Unbuffered(sys.stderr) + split_args, pids_to_show, watch, only_total = parse_options() verify_environment() diff --git a/SPECS/ps_mem.spec b/SPECS/ps_mem.spec index dfc081a..65128b2 100644 --- a/SPECS/ps_mem.spec +++ b/SPECS/ps_mem.spec @@ -1,7 +1,7 @@ Name: ps_mem Version: 3.6 -Release: 7%{?dist} +Release: 9%{?dist} Summary: Memory profiling tool Group: Applications/System License: LGPLv2 @@ -47,6 +47,14 @@ install -Dpm644 %{name}.1 %{buildroot}%{_mandir}/man1/%{name}.1 %changelog +* Fri Nov 05 2021 Jan Rybar - 3.6-9 +- python-3.6 introduced changes in flush() sanitizing: gating fails +- Resolves: rhbz#1651769 + +* Thu Nov 04 2021 Jan Rybar - 3.6-8 +- output is not redirected when ps_mem is killed +- Resolves: rhbz#1651769 + * Tue Jun 30 2020 Jan Rybar - 3.6-7 - gating activated - cmdline unwanted blank spaces fixed