Closed
Bug 508091
Opened 16 years ago
Closed 16 years ago
BasicList needs to be mutation while iterating proof
Categories
(Tamarin Graveyard :: Garbage Collection (mmGC), defect)
Tracking
(Not tracked)
VERIFIED
FIXED
People
(Reporter: treilly, Assigned: treilly)
Details
Attachments
(1 file)
|
3.06 KB,
patch
|
edwsmith
:
review+
|
Details | Diff | Splinter Review |
When recieving abort messages GC's remove themselves from this list, it needs to handle this gracefully.
| Assignee | ||
Comment 1•16 years ago
|
||
Attachment #392858 -
Flags: review?(edwsmith)
Comment 2•16 years ago
|
||
Comment on attachment 392858 [details] [diff] [review]
Makes list mutation while iterating work
nits:
* if and while keywords should have a space between them and (
* Compact() needs a comment explaining how it works
* nice to have at least one comment per class saying what its for.
* needs self tests, probably
maybe problems:
* if an exception is thrown while a BasicListIterator is alive, then BasicList.iterationCount will not be decremented and will stay >0 forever.
If this can't happen, can we guard for it with assertions? if not then at least a policy comment needs to be in there as a warning.
* must the BasicList mutator and iterator all be on the same thread? if not then we need mutex code for IteratorAttach() and Detach(). and, probably other access paths. if not, same story -- need safeguards and/or tests and/or comments to state the required contract.
most of our code is not thread aware but next(vmpi_spin_lock_t) got my attention.
Attachment #392858 -
Flags: review?(edwsmith) → review+
| Assignee | ||
Comment 3•16 years ago
|
||
landed changeset: 2337:53b265ea55c9 w/ nits addressed.
BasicList::next(vmpi_spin_lock_t) will probably go away, I'll create another bug to deal with the threading issues.
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Updated•16 years ago
|
Status: RESOLVED → VERIFIED
You need to log in
before you can comment on or make changes to this bug.
Description
•