Opened at 2009-07-29T14:07:42Z
Last modified at 2026-03-03T03:03:43Z
#195 new meta
Clean shutdown
| Reported by: | Ichthyostega | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | 2beta |
| Component: | lumiera | Keywords: | QA architecture |
| Sub Tickets: | #196, #201, #574, #624, #693, #700, #712, #804, #837, #842, #845, #867, #954, #1034, #1035, #1133, #1146, #1160, #1161, #1198, #1416 | Parent Tickets: | #198 |
Description (last modified by )
clean Application shutdown
this is a tracking ticket -- individual tasks depending.
Even while Lumiera is designed allowing simply to »pull the plug«, it is important to care for a super clean shutdown with zero leaks, races and suppressed exceptions. Because, usually, these are common symptoms of conceptual mismatches, which shouldn't be allowed to linger
Change history (25)
comment:1 by , at 2009-07-29T14:12:50Z
| blockedby: | → 196 |
|---|
comment:2 by , at 2009-07-29T14:22:30Z
| Description: | modified (diff) |
|---|
comment:3 by , at 2009-07-31T16:14:16Z
| blocking: | → 198 |
|---|---|
| Description: | modified (diff) |
| Keywords: | meta added |
comment:4 by , at 2009-07-31T16:16:57Z
yeah, good point. I think, on a large extent, we are already kapable of doing so. Off the top of my head, I can't recall any dtor doing any state saving. Anyway, I'll add a separate ticket to track fast shutdown
comment:5 by , at 2009-07-31T16:29:54Z
| blockedby: | 196 → 196, 201 |
|---|
comment:6 by , at 2010-01-16T12:08:30Z
| Type: | planned → meta |
|---|
comment:7 by , at 2010-03-12T20:52:43Z
| blockedby: | 196, 201 → 196, 201, 574 |
|---|
comment:8 by , at 2010-06-02T02:40:28Z
| blockedby: | 196, 201, 574 → 196, 201, 574, 624 |
|---|
comment:9 by , at 2010-10-20T02:38:32Z
| blockedby: | 196, 201, 574, 624 → 196, 201, 574, 624, 693 |
|---|
comment:10 by , at 2010-10-24T02:26:28Z
| blockedby: | 196, 201, 574, 624, 693 → 196, 201, 574, 624, 693, 700 |
|---|
comment:11 by , at 2010-11-06T18:55:35Z
| blockedby: | 196, 201, 574, 624, 693, 700 → 196, 201, 574, 624, 693, 700, 712 |
|---|
comment:12 by , at 2011-05-21T15:58:34Z
| blockedby: | 196, 201, 574, 624, 693, 700, 712 → 196, 201, 574, 624, 693, 700, 712, 804 |
|---|
comment:13 by , at 2011-09-25T16:13:02Z
| blockedby: | 196, 201, 574, 624, 693, 700, 712, 804 → 196, 201, 574, 624, 693, 700, 712, 804, 837 |
|---|
comment:14 by , at 2011-09-25T16:39:15Z
| blockedby: | 196, 201, 574, 624, 693, 700, 712, 804, 837 → 196, 201, 574, 624, 693, 700, 712, 804, 837, 842 |
|---|
comment:15 by , at 2011-12-10T01:25:01Z
| blockedby: | 196, 201, 574, 624, 693, 700, 712, 804, 837, 842 → 196, 201, 574, 624, 693, 700, 712, 804, 837, 842, 867 |
|---|
comment:16 by , at 2014-10-13T01:56:34Z
| blockedby: | 196, 201, 574, 624, 693, 700, 712, 804, 837, 842, 867 → 196, 201, 574, 624, 693, 700, 712, 804, 837, 842, 867, 954 |
|---|
comment:17 by , at 2016-10-29T12:41:40Z
| blockedby: | 196, 201, 574, 624, 693, 700, 712, 804, 837, 842, 867, 954 → 196, 201, 574, 624, 693, 700, 712, 804, 837, 842, 867, 954, 1035 |
|---|
comment:18 by , at 2016-12-11T00:25:32Z
| blockedby: | 196, 201, 574, 624, 693, 700, 712, 804, 837, 842, 867, 954, 1035 → 196, 201, 574, 624, 693, 700, 712, 804, 837, 842, 867, 954, 1034, 1035 |
|---|
comment:19 by , at 2018-03-31T00:24:00Z
| blockedby: | 196, 201, 574, 624, 693, 700, 712, 804, 837, 842, 867, 954, 1034, 1035 → 196, 201, 574, 624, 693, 700, 712, 804, 837, 842, 845, 867, 954, 1034, 1035 |
|---|
comment:20 by , at 2018-03-31T00:36:44Z
| blockedby: | 196, 201, 574, 624, 693, 700, 712, 804, 837, 842, 845, 867, 954, 1034, 1035 → 196, 201, 574, 624, 693, 700, 712, 804, 837, 842, 845, 867, 954, 1034, 1035, 1133 |
|---|
comment:21 by , at 2018-08-29T13:31:22Z
| blockedby: | 196, 201, 574, 624, 693, 700, 712, 804, 837, 842, 845, 867, 954, 1034, 1035, 1133 → 196, 201, 574, 624, 693, 700, 712, 804, 837, 842, 845, 867, 954, 1034, 1035, 1133, 1160 |
|---|
comment:22 by , at 2018-08-29T13:44:06Z
| blockedby: | 196, 201, 574, 624, 693, 700, 712, 804, 837, 842, 845, 867, 954, 1034, 1035, 1133, 1160 → 196, 201, 574, 624, 693, 700, 712, 804, 837, 842, 845, 867, 954, 1034, 1035, 1133, 1160, 1161 |
|---|
comment:23 by , at 2019-06-16T14:36:39Z
| blockedby: | 196, 201, 574, 624, 693, 700, 712, 804, 837, 842, 845, 867, 954, 1034, 1035, 1133, 1160, 1161 → 196, 201, 574, 624, 693, 700, 712, 804, 837, 842, 845, 867, 954, 1034, 1035, 1133, 1160, 1161, 1198 |
|---|
comment:24 by , at 2025-12-25T00:00:00Z
| blockedby: | 196, 201, 574, 624, 693, 700, 712, 804, 837, 842, 845, 867, 954, 1034, 1035, 1133, 1160, 1161, 1198 |
|---|---|
| blocking: | 198 |
| Parent Tickets: | → 198 |
| Sub Tickets: | → 196, 201, 574, 624, 693, 700, 712, 804, 837, 842, 845, 867, 954, 1034, 1035, 1133, 1160, 1161, 1198 |
Migration MasterTickets ⟼ Subtickets-plugin
comment:25 by , at 2026-03-03T02:54:11Z
| Sub Tickets: | 196, 201, 574, 624, 693, 700, 712, 804, 837, 842, 845, 867, 954, 1034, 1035, 1133, 1160, 1161, 1198 → 196, 201, 574, 624, 693, 700, 712, 804, 837, 842, 845, 867, 954, 1034, 1035, 1133, 1146, 1160, 1161, 1198, 1416 |
|---|

Replying to ichthyo:
Moreover I was thinking about different shutdown compiletime options. That is 'clean but slow' shutdown for ALPHA and BETA builds and a 'fast' shutdown for RELEASE builds. A lot objects don't really need to be deconstructed on shutdown but this is twofold and we need to prepare it in a way that the necessary actions are still guaranteed to be executed at fast shutdown (that likely implies a 2 or 3 stage shutdown for some classes, close eg: -> destroy -> free).
Further there is the 'resourcecollector' which manages emergency shutdowns, generally I want to be able to pull the plug at any time without loosing (much..) work. but even this can be done in multiple stages, writing as much data as possible out and syncing the log.