no. my attachimage() compares qid + mountid (which is unique) and 
reattaches the passed in channel if image->c was nil. when
a porcess exits, the segments are released, decrementing ref of
the pages and the images. the image has an additional field pgref where
it counts the number of page references (that is, the number of
references minus the references from segments). in putimage(),
when image->ref == image->pgref, we know that all references
to our image are from the cache only and thats when we close the image
channel and set image->c to nil. once the image gets attached again,
image->c will be set again as mentioned above.

this is just to avoid holding the channel reference when the image
is only kept arround for the cache. so mounts will go away propery
and not wait until the image is reclaimed.

it will find the right image for the channel in any case. nothing
has changed in that regard.

--
cinap

Reply via email to