Can not use variables as index in channel array synchronization
Bug #644410 reported by
Petur Olsen
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
opaal |
Confirmed
|
Medium
|
Unassigned |
Bug Description
When creating an array of channels, it is not possible to use a variable as index in the array in channel synchronizations.
Declaration:
chan login[NUM_USERS];
int cid;
Channel sync:
login[cid]!
Workaround on channel sync:
i : NUM_USERS
cid == i
login[i]!
To post a comment you must log in.
This is not an easy fix as the current succgen assumes that synchronisation channels can be determined ahead of time.
Maybe the correct solution is to calculate dynamic sync channels specially, to not incur additional overhead.
Should be kept in mind for future succgens.