Ticket #54 (closed defect: fixed)

Opened 10 years ago

Last modified 10 years ago

cancel-sem-forloop failure

Reported by: carns Owned by: carns
Priority: minor Component: aesop functions
Version: Keywords:


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:1 Changed 10 years ago by carns

  • Owner set to carns
  • Status changed from new to accepted

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.

Note: See TracTickets for help on using tickets.