#2692 closed defect (fixed)

User extensions execution order must be clarified

Reported by: Sebastian Huber Owned by: Sebastian Huber
Priority: high Milestone: 5.1
Component: score Version: 4.11
Severity: normal Keywords:
Cc: Blocked By:
Blocking:

Description

The implemented and documented execution order of some user extensions disagree. Intended behaviour must be tested. Documentation must be updated accordingly.

Change History (7)

comment:1 Changed on Apr 19, 2016 at 5:23:26 AM by Sebastian Huber <sebastian.huber@…>

In 709f38a97287ff1aa8e8c0668c2d066e711db87c/rtems:

score: Use chain iterator for user extensions

Add a lock and use a chain iterator for safe iteration during concurrent
user extension addition and removal.

Ensure that dynamically added thread delete and fatal extensions are
called in reverse order.

Update #2555.
Update #2692.

comment:2 Changed on Dec 23, 2016 at 2:10:09 PM by Sebastian Huber

Priority: normalhigh

comment:3 Changed on Jan 26, 2017 at 12:55:05 PM by Sebastian Huber <sebastian.huber@…>

In 6f6da82ca0b57ed1c42050f8103c2ea2adb3d3e2/rtems:

score: Fix user extensions order

Use forward and reverse order for initial and dynamic extensions. This
is the behaviour documented in the C Users Guide. Change thread
terminate order to backward to be in line with the thread delete order.
Change fatal error order to forward to ensure that initial extensions
are called first due the peculiar execution context of fatal error
extensions, see _Terminate() documentation.

Update #2692.

comment:4 Changed on Jan 27, 2017 at 6:24:44 AM by Sebastian Huber

Resolution: fixed
Status: newclosed

comment:5 Changed on Feb 21, 2017 at 11:12:45 AM by Sebastian Huber <sebastian.huber@…>

In c54769e71e1c87c55e482a3d05322e728fb2aac1/rtems:

spextensions01: Fix extension create order

Update #2692.

comment:6 Changed on May 11, 2017 at 7:31:02 AM by Sebastian Huber

Milestone: 4.124.12.0

comment:7 Changed on Nov 9, 2017 at 6:27:14 AM by Sebastian Huber

Milestone: 4.12.05.1

Milestone renamed

Note: See TracTickets for help on using tickets.