#147 closed defect (fixed)

server based time fires incorrectly

Reported by: Joel Sherrill Owned by: Joel Sherrill
Priority: normal Milestone: 2
Component: score Version: unknown
Severity: major Keywords:
Cc: bugs@… Blocked By:
Blocking:

Description

In the following scenario, a server based timer fires too early.

Time Action

=============

0 rtems_timer_server_fire_after(timer1, 1000)
0 rtems_task_wake_after(500)

500 rtems_timer_server_fire_after(timer2, 250)

The problem is in the order of syncing the timer server
chain and inserting the new timer. The current order
results in timer2 being inserted before the chain is
adjusted for the 500 ticks which have passed. This
results in timer2 firing immediately because it fires
in 250 ticks which is less than the 500 ticks we
are adjusting.

Release:
RTEMS CVS

Environment:
all BSPs

Attachments (2)

sp31.diff (1.9 KB) - added by Joel Sherrill on Dec 3, 2006 at 1:31:13 PM.
sp31.diff
pr147.diff (14.4 KB) - added by Joel Sherrill on Dec 3, 2006 at 1:31:13 PM.
pr147.diff

Download all attachments as: .zip

Change History (2)

comment:1 Changed on Mar 29, 2002 at 2:32:24 PM by Joel Sherrill

Status: assignedclosed

State-Changed-From-To: working->closed
State-Changed-Why: Patch applied.

Changed on Dec 3, 2006 at 1:31:13 PM by Joel Sherrill

Attachment: sp31.diff added

sp31.diff

Note: See TracTickets for help on using tickets.