Mir

lp://qastaging/~afrantzis/mir/fix-1358191-connect-segv-spike

Created by Alexandros Frantzis and last modified
Get this branch:
bzr branch lp://qastaging/~afrantzis/mir/fix-1358191-connect-segv-spike
Only Alexandros Frantzis can upload to this branch. If you are Alexandros Frantzis please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Alexandros Frantzis
Project:
Mir
Status:
Development

Recent revisions

1861. By Alexandros Frantzis

client: Ensure our platform library stays loaded for as long as it is needed by other objects

1860. By Kevin DuBois

frontend: SessionMediator: extract the session tracking of Surface and BufferId's into one place so session mediator is less concerned with it. This makes session mediator a bit more testable.

Approved by PS Jenkins bot, Alan Griffiths.

1859. By Alan Griffiths

Possible fix for lp:1358698. Fixes: https://bugs.launchpad.net/bugs/1358698.

Approved by PS Jenkins bot.

1858. By Chris Halse Rogers

Check that the MirConnection is valid in BasicClientServerFixture.

1857. By Chris Halse Rogers

Abort test when InProcessServer startup fails.

ASSERT_TRUE does not actually abort the test unless called directly within
the main test body or from a function called within ASSERT_NO_FATAL_FAILURE()
within the main test body.

Throw an exception instead, which will terminate the test unless deliberately
caught.

1856. By Alan Griffiths

cmake: Fix dependencies on non-existent (renamed) protobuf targets

1855. By Alan Griffiths

tools: The tools/install_on_android.sh needs updating with current binaries

1854. By Daniel van Vugt

Remove reference to non-existent empty variable ${PROTO_HDRS}

1853. By Daniel van Vugt

DemoRenderer: Don't try to create a texture of width zero. libGL might crash
and definitely won't produce anything useful. This simple regression was
caused by accidentally changing float corner_radius = 0.5f into an int in
revision 1845. (LP: #1358210)

1852. By Alexandros Frantzis

client: Fix SIGTERM dispatch in our default lifecycle event handler, which
was resulting in clients looping infinitely in exception handlers
(LP: #1353867)

Our default lifecycle event handler used to call raise() to send a TERM
signal to the app when a connection break was detected. However, in a
multi-threaded program raise() sends the signal to the current thread only.
If the signal is blocked in that thread, then the signal is lost.

Depending on thread in which we detected that the connection was lost, the
TERM signal would be dispatched (e.g. in the context of a driver callback
asking for the next buffer) or not (e.g. in the context of our main RPC
threads which block all signals). This MP fixes the issue by explicitly
sending the signal to the process instead of the current thread. This ensures
that it will be dispatched to some thread that doesn't block it.

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.