Ticket #54 (closed defect: fixed)
cancel-sem-forloop failure
Reported by: | carns | Owned by: | carns |
---|---|---|---|
Priority: | minor | Component: | aesop functions |
Version: | Keywords: | ||
Cc: |
Description
See resources/sem/test/cancel-sem-forloop failure. Produces a segmentation fault when cancelling aesop_sem_down() calls if the caller issues an aesop_cancel_branches() call in the same set of pbranches that have already been cancelled by a higher level caller.
The workaround is to explicitly skip the aesop_cancel_branches() call if you get a CANCELLED return code from an aesop_cancel_branches() call, but it seems like you shouldn't have to do that.
Change History
comment:2 Changed 10 years ago by carns
- Status changed from accepted to closed
- Resolution set to fixed
Fixed in master branch by having the cancel function check to see if the semaphore wait entry is already on the cancellation queue or not before operating on it. Fixes the test program, but there may be other cases to consider in that code path as well.