diff options
| author | Julian Andres Klode <jak@debian.org> | 2022-01-06 19:56:23 +0000 |
|---|---|---|
| committer | Julian Andres Klode <jak@debian.org> | 2022-01-06 19:56:23 +0000 |
| commit | 64205c6850cf4323af317eff371c131c1bb7ebfc (patch) | |
| tree | 7167da96a18c6f4efc501c00756a41d3675d9752 /apt-pkg/install-progress.h | |
| parent | 0ce8ea6f1920a700a088ab9815cf63197fcf4dfb (diff) | |
| parent | ec27853181d898f738ad20fed00f37a00d1d09c3 (diff) | |
Merge branch 'main' into 'main'
Fix incorrect SIGWINCH handling
See merge request apt-team/apt!204
Diffstat (limited to 'apt-pkg/install-progress.h')
| -rw-r--r-- | apt-pkg/install-progress.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/apt-pkg/install-progress.h b/apt-pkg/install-progress.h index 94b66ed9b..617ce2a35 100644 --- a/apt-pkg/install-progress.h +++ b/apt-pkg/install-progress.h @@ -126,11 +126,14 @@ namespace Progress { private: APT_HIDDEN static void staticSIGWINCH(int); static std::vector<PackageManagerFancy*> instances; + static sighandler_t SIGWINCH_orig; + static volatile sig_atomic_t SIGWINCH_flag; + APT_HIDDEN void CheckSIGWINCH(); APT_HIDDEN bool DrawStatusLine(); protected: void SetupTerminalScrollArea(int nr_rows); - void HandleSIGWINCH(int); + void HandleSIGWINCH(int); // for abi compatibility, do not use typedef struct { int rows; @@ -138,12 +141,13 @@ namespace Progress { } TermSize; TermSize GetTerminalSize(); - sighandler_t old_SIGWINCH; + sighandler_t old_SIGWINCH; // for abi compatibility, do not use int child_pty; public: PackageManagerFancy(); virtual ~PackageManagerFancy(); + virtual void Pulse() APT_OVERRIDE; virtual void Start(int child_pty=-1) APT_OVERRIDE; virtual void Stop() APT_OVERRIDE; virtual bool StatusChanged(std::string PackageName, |
