summaryrefslogtreecommitdiff
path: root/apt-pkg/install-progress.h
Commit message (Collapse)AuthorAgeFilesLines
* Modernize standard library includesJulian Andres Klode2024-02-201-1/+1
| | | | | | This was automated with sed and git-clang-format, and then I had to fix up the top of policy.cc by hand as git-clang-format accidentally indented it by two spaces.
* Fix incorrect SIGWINCH handlingZhang Boyang2021-12-191-2/+6
| | | | | | | | | | | | | | | | | | | | | Previously, status line is redrawn in signal handler. However, the drawing code make heavy use of std::string and other syscalls, which may not be async-signal-safe. This will cause deadlock, overwritten errno, even silent memory corruption. This patch implemented Anders Kaseorg's idea. The signal handler will only set a flag, which is async-signal-safe, and actual redrawing will be deferred to PackageManagerFancy::Pulse(). Note that the virtual function PackageManagerFancy::Pulse() already exists in base class but newly overridden in PackageManagerFancy, so the ABI compatibility should be OK. However, existing compiled programs may not aware of this new function and continue to use old Pulse() if compiler had done heavy optimization. Fortunately this is not too harmful because this will only cause status line not redrawing, which may consider acceptable. Closes: #852757
* apt-pkg: default visibility to hiddenJulian Andres Klode2020-02-261-6/+6
|
* Reformat and sort all includes with clang-formatJulian Andres Klode2017-07-121-2/+2
| | | | | | | | | | | | | This makes it easier to see which headers includes what. The changes were done by running git grep -l '#\s*include' \ | grep -E '.(cc|h)$' \ | xargs sed -i -E 's/(^\s*)#(\s*)include/\1#\2 include/' To modify all include lines by adding a space, and then running ./git-clang-format.sh.
* install-progress: Call the real ::fork() in our fork() methodJulian Andres Klode2016-08-231-1/+1
| | | | | | We basically called ourselves before, creating an endless loop. Reported-By: clang
* Fix select timeout to be 50msec instead of 0.5msecMichael Vogt2015-09-301-1/+1
| | | | Closes: #799857
* add c++11 override marker to overridden methodsDavid Kalnischkies2015-08-101-14/+14
| | | | | | | | | C++11 adds the 'override' specifier to mark that a method is overriding a base class method and error out if not. We hide it in the APT_OVERRIDE macro to ensure that we keep compiling in pre-c++11 standards. Reported-By: clang-modernize -add-override -override-macros Git-Dch: Ignore
* make all d-pointer * const pointersDavid Kalnischkies2015-08-101-5/+5
| | | | | | | | | | | | | | Doing this disables the implicit copy assignment operator (among others) which would cause hovac if used on the classes as it would just copy the pointer, not the data the d-pointer points to. For most of the classes we don't need a copy assignment operator anyway and in many classes it was broken before as many contain a pointer of some sort. Only for our Cacheset Container interfaces we define an explicit copy assignment operator which could later be implemented to copy the data from one d-pointer to the other if we need it. Git-Dch: Ignore
* apply various style suggestions by cppcheckDavid Kalnischkies2015-08-101-2/+2
| | | | | | | Some of them modify the ABI, but given that we prepare a big one already, these few hardly count for much. Git-Dch: Ignore
* add d-pointer, virtual destructors and de-inline de/constructorsDavid Kalnischkies2015-06-161-1/+10
| | | | | | | | To have a chance to keep the ABI for a while we need all three to team up. One of them missing and we might loose, so ensuring that they are available is a very tedious but needed task once in a while. Git-Dch: Ignore
* mark private methods as hiddenDavid Kalnischkies2014-09-301-1/+1
| | | | | | | | | | We are the only possible users of private methods, so we are also the only users who can potentially export them via using them in inline methods. The point is: We don't need these symbols exported if we don't do this, so marking them as hidden removes some methods from the API without breaking anything as nobody could have used them. Git-Dch: Ignore
* fix: Member variable 'X' is not initialized in the constructor.David Kalnischkies2014-09-271-3/+2
| | | | | Reported-By: cppcheck Git-Dch: Ignore
* force fancy progressbar redraw on window size changeDavid Kalnischkies2014-04-141-0/+3
| | | | | | | | | | | We always reacted on the size change, but the bar is only redraw if the precentage changes, which can take quiet a while in big upgrades, so with a bit of refactoring we can now call for a redraw immediate to fix this. This refactor also helps in avoiding obscure pitfalls clangs static analyser was complaining about (namely failure of ioctl resulting in garbage values in the struct).
* Add progressbar to "Dpkg::Progress-Fancy"Michael Vogt2014-03-271-1/+10
| | | | | | A text progressbar is now displayed in the Dpkg::Progress-Fancy mode. It can be turned off via the apt option Dpkg::Progress-Fancy::Progress-Bar=false
* warning: unused parameter ‘foo’ [-Wunused-parameter]David Kalnischkies2014-03-131-9/+9
| | | | | Reported-By: gcc -Wunused-parameter Git-Dch: Ignore
* warning: extra ‘;’ [-Wpedantic]David Kalnischkies2014-03-131-16/+16
| | | | | Git-Dch: Ignore Reported-By: gcc -Wpedantic
* add missing vector includeMichael Vogt2013-12-281-0/+1
|
* properly handle SIGWINCH in PackageManagerFancy againMichael Vogt2013-12-281-3/+9
|
* first proof-of-concept for a fix for #731738Michael Vogt2013-12-221-2/+2
|
* Handle SIGWINCH in APT::Progress-Fancy=1Michael Vogt2013-12-061-3/+6
|
* use StartDpkg() in PackageManagerProgressDeb822Fd as wellMichael Vogt2013-10-311-1/+1
|
* add new pid_t ExecFork(std::set<int> KeepFDs) to get rid of the super ugly ↵Michael Vogt2013-10-311-1/+7
| | | | APT::Keep-Fds hack and also add a new PackageManagerProgressFd::StartDpkg() progress state
* restore ABI and prepare next ABI via #if (APT_PKG_MAJOR >= 4 && ↵Michael Vogt2013-10-311-0/+3
| | | | APT_PKG_MINOR >= 13)
* move install-progress.{cc,h} to apt-pkgMichael Vogt2013-10-221-0/+137