Bug in treatment of passive resource timeout failures

Description

There is missing logic to handle the case that

A simulated process P holds multiple passive resources {R_1, .., R_n} at a certain point in time t, and

(ii) at time t, P is waiting to get another passive resource R_n+1, and

(iii) P runs into a passive resource timeout failure because it must wait too long for R_n+1

The current simulation logic removes P from the waiting queue of R_n+1, but it does NOT free the occupated passive resources R_1 to R_n.

I believe that this bug can be fixed by giving the process (ISchedulableProcess) references to all passiveResources that it possesses, and by adjusting the "available" counter of each passive resource (SimSimpleFairPassiveResource) when triggering the timeout event (PassiveResourceTimeoutEvent.eventRoutine).

Environment

Operating System: Windows 7
Platform: PC

Activity

Show:
User known
June 27, 2011, 4:46 PM

...already spent considerable time to find the problem and to figure out a solution...

Assignee

Former user

Reporter

Former user

Labels

None

Requirement Category

None

External issue URL

Severity

normal

Priority

P5

Status Whiteboard

None

External issue ID

742

Time remaining

0m

Components

Affects versions

Priority