<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg/install-progress.h, branch 2.9.1</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.9.1</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.9.1'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2024-02-20T12:49:04Z</updated>
<entry>
<title>Modernize standard library includes</title>
<updated>2024-02-20T12:49:04Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-02-20T12:43:08Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=40a75722c43ae24cb9a99d6730a3b25b65819c49'/>
<id>urn:sha1:40a75722c43ae24cb9a99d6730a3b25b65819c49</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Fix incorrect SIGWINCH handling</title>
<updated>2021-12-19T08:24:47Z</updated>
<author>
<name>Zhang Boyang</name>
<email>zhangboyang.id@gmail.com</email>
</author>
<published>2021-12-01T16:21:48Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=ec27853181d898f738ad20fed00f37a00d1d09c3'/>
<id>urn:sha1:ec27853181d898f738ad20fed00f37a00d1d09c3</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>apt-pkg: default visibility to hidden</title>
<updated>2020-02-26T19:34:54Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2019-08-13T17:15:19Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=db678df196ccd8f9f6fb336706cf5701d1e53aa6'/>
<id>urn:sha1:db678df196ccd8f9f6fb336706cf5701d1e53aa6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Reformat and sort all includes with clang-format</title>
<updated>2017-07-12T11:57:51Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-07-12T11:40:41Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=87274d0f22e1dfd99b2e5200e2fe75c1b804eac3'/>
<id>urn:sha1:87274d0f22e1dfd99b2e5200e2fe75c1b804eac3</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>install-progress: Call the real ::fork() in our fork() method</title>
<updated>2016-08-23T15:48:48Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2016-08-23T11:24:54Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=d651c4cd71a43c385c3d3bcd3a9f25bf0a67f8f2'/>
<id>urn:sha1:d651c4cd71a43c385c3d3bcd3a9f25bf0a67f8f2</id>
<content type='text'>
We basically called ourselves before, creating an endless loop.

Reported-By: clang
</content>
</entry>
<entry>
<title>Fix select timeout to be 50msec instead of 0.5msec</title>
<updated>2015-09-30T13:24:47Z</updated>
<author>
<name>Michael Vogt</name>
<email>mvo@debian.org</email>
</author>
<published>2015-09-30T13:24:47Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=eaf21c2144fa8dc4be8581dc69cf88cb38e30ce2'/>
<id>urn:sha1:eaf21c2144fa8dc4be8581dc69cf88cb38e30ce2</id>
<content type='text'>
Closes: #799857
</content>
</entry>
<entry>
<title>add c++11 override marker to overridden methods</title>
<updated>2015-08-10T15:27:17Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-07-08T22:35:40Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=3b3028467ceccca0b73a8f53051c0fa4de313111'/>
<id>urn:sha1:3b3028467ceccca0b73a8f53051c0fa4de313111</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>make all d-pointer * const pointers</title>
<updated>2015-08-10T15:25:25Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-06-17T07:29:00Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=6c55f07a5fa3612a5d59c61a17da5fe640eadc8b'/>
<id>urn:sha1:6c55f07a5fa3612a5d59c61a17da5fe640eadc8b</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>apply various style suggestions by cppcheck</title>
<updated>2015-08-10T15:24:01Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-06-16T22:14:10Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=e8afd16892e87a6e2f17c1019ee455f5583387c2'/>
<id>urn:sha1:e8afd16892e87a6e2f17c1019ee455f5583387c2</id>
<content type='text'>
Some of them modify the ABI, but given that we prepare a big one
already, these few hardly count for much.

Git-Dch: Ignore
</content>
</entry>
<entry>
<title>add d-pointer, virtual destructors and de-inline de/constructors</title>
<updated>2015-06-16T14:22:46Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-06-16T14:22:46Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=c8a4ce6cbed57ae108dc955d4a850f9b129a0693'/>
<id>urn:sha1:c8a4ce6cbed57ae108dc955d4a850f9b129a0693</id>
<content type='text'>
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
</content>
</entry>
</feed>
