Mir

lp://qastaging/~alan-griffiths/mir/doodle-in-TimeoutFrameDroppingPolicy-code

Created by Alan Griffiths and last modified
Get this branch:
bzr branch lp://qastaging/~alan-griffiths/mir/doodle-in-TimeoutFrameDroppingPolicy-code
Only Alan Griffiths can upload to this branch. If you are Alan Griffiths please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Alan Griffiths
Project:
Mir
Status:
Development

Recent revisions

1763. By Alan Griffiths

Alberto's fix for race decrementing pending_swaps

1762. By Alan Griffiths

Avoid some raciness in TimeoutFrameDroppingPolicy

1761. By Daniel van Vugt

mir_demo_client_multiwin: Premultiply by alpha to produce correctly
composited colours following changes to the blending equation in r1687.
(LP: #1339471). Fixes: https://bugs.launchpad.net/bugs/1339471.

Approved by Alexandros Frantzis, PS Jenkins bot.

1760. By Thomas Voß

Explicitly select g++-4.9 to prevent from ABI breaks. (LP: #1329089). Fixes: https://bugs.launchpad.net/bugs/1329089.

Approved by PS Jenkins bot, Alan Griffiths.

1759. By Alan Griffiths

examples: write the main() in minimal_server.cpp the way client code should be written.

Approved by Kevin DuBois, PS Jenkins bot, Alexandros Frantzis.

1758. By Daniel van Vugt

Modify comments and tests to reflect the new reality where apparently bypass
doesn't need any more than two buffers. This seems to have come about from
server changes where buffers are acquired by clients asynchronously and
we allow some time each swap where the client owns zero buffers. Thus the
original deadlock which required 3 buffers to avoid does not seem to exist
any more. I think.

This doesn't change the logic in any way. But since it can be done separately
to any logic changes I'm proposing the docs/test changes early.

Approved by Kevin DuBois, Alberto Aguirre, Alexandros Frantzis, Alan Griffiths, PS Jenkins bot.

1757. By Alexandros Frantzis

android,tests: Fix g++ 4.9 build

It seems that g++-4.9 has become more aggressive about constant folding of
expressions that use sizeof(), thus triggering warnings/errors related to
constant overflows that didn't occur with g++-4.8.

For example, g++-4.8 warns about overflowing i3, but not i4, whereas g++-4.9
warns about both i3 and i4:

#define VALUE1 0x70000000UL
#define VALUE2 (VALUE1 >> sizeof(unsigned char))
#define VALUE3 0x80000000UL
#define VALUE4 (VALUE1 << sizeof(unsigned char))

int main()
{
    int i1 = VALUE1;
    int i2 = VALUE2;
    int i3 = VALUE3;
    int i4 = VALUE4;
}

This affects our ioctl() wrapper calls because we use 'int' for the request
parameter, whereas the request numbers produced by the kernel macros (using
sizeof() in the calculation) are 'unsigned long'. This MP fixes the problem by
casting the request numbers to 'int', which is a safe conversion since the
request numbers are constrained to 32 bits by design.

Note that we don't have a problem with all ioctl request numbers, although they
are produced by the same set of macros, because almost all of them don't have
the high bit set (like VALUE2 above) and don't trigger the overflow error. The
one we have a problem with, SYNC_IOC_MERGE, has the high bit set (like VALUE4
above).

Also note that the glibc ioctl() function signature uses 'unsigned long'
instead of 'int' for the request number. So, alternatively, we could fix the
problem by changing our wrappers to use 'unsigned long', too. However, the
glibc signature goes against POSIX and there have been discussions about
switching it back. See https://sourceware.org/bugzilla/show_bug.cgi?id=14362 .

Approved by Kevin DuBois, PS Jenkins bot, Alan Griffiths.

1756. By Kevin DuBois

android: more cleanup AndroidRegistrar naming and test in the android client platform.

Approved by Alexandros Frantzis, PS Jenkins bot, Chris Halse Rogers.

1755. By Daniel van Vugt

Merge the latest changelog corrections about 0.4.0 back to the 0.5 series
so it's at least correct and consistent with the 0.4 maintenance branch.

Note that this is the only such merge that will occur. Any releases 0.4.1+
will not have changelog entries visible in series 0.5+ as they're now
separate branches.

Approved by Cemil Azizoglu, PS Jenkins bot, Alan Griffiths.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp://qastaging/mir/ubuntu
This branch contains Public information 
Everyone can see this information.

Subscribers