Clients that don't register a lifecycle handler get SIGHUP when disconnecting
Bug #1386185 reported by
Alan Griffiths
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mir |
Fix Released
|
Medium
|
Alan Griffiths | ||
mir (Ubuntu) |
Fix Released
|
Medium
|
Unassigned |
Bug Description
A client that is not handling lifecycle events shouldn't need to register a handler.
Take mir_demo_
it should output:
Starting
Connected
Surface created
Surface released
Connection released
It actually outputs
Starting
Connected
Surface created
Surface released
Hangup <<===
Because SIGHUP is raised during (and as a consequence) of the mir_connection_
Related branches
lp://staging/~alan-griffiths/mir/fix-1386185
- PS Jenkins bot (community): Approve (continuous-integration)
- Alberto Aguirre (community): Approve
- Kevin DuBois (community): Approve
- Robert Carr (community): Approve
-
Diff: 162 lines (+25/-42)5 files modifiedsrc/client/mir_connection.cpp (+24/-17)
src/client/mir_connection.h (+1/-0)
tests/integration-tests/client/test_client_render.cpp (+0/-10)
tests/integration-tests/test_protobuf.cpp (+0/-7)
tests/mir_test_framework/using_stub_client_platform.cpp (+0/-8)
Changed in mir: | |
assignee: | nobody → Alan Griffiths (alan-griffiths) |
status: | New → In Progress |
Changed in mir: | |
milestone: | none → 0.9.0 |
importance: | Undecided → Medium |
Changed in mir (Ubuntu): | |
importance: | Undecided → Medium |
status: | New → Triaged |
Changed in mir: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
There's also a lot of the following littered around the test code. It shouldn't need to be there:
// Clear the lifecycle callback in order not to get SIGHUP by the
mir_connection _set_lifecycle_ event_callback( connection, null_lifecycle_ callback, nullptr);
mir_connection _release( connection) ;
// default lifecycle handler during connection teardown