NVFS doesn't play nice with DmQueryRecord(). The viewer depends heavily
on DmQueryRecord(). I am working to fix this. The obvious thing to do
is to change all DmQueryRecord() calls to DmGetRecord() calls, and then
do a DmReleaseRecord() call when done. I've actually done this (though
have not yet tested and thus of course have not yet committed), with the
exception of the annotation code which will change anyway (I have a good
deal of the new code written), but I came across an interesting snag.
Record locking/unlocking can, of course, be nested. But how about
DmGetRecord()/DmReleaseRecord()? Can I re-get the same record, and
release it again? Anybody know?
If not, then because of the way access to metarecords works, I will have
to write a nestable version of Dm{Get,Release}Record, storing database
refs, record numbers, get counts, and dirty status in a dynamic list. A
bit of a nuisance, but not too hard, I guess. This way, too, we will be
able to debug the code to make sure that everything is paired up by
chancing for over/under-released records. But I don't really want to do
thsi...
_______________________________________________
plucker-dev mailing list
plucker-dev@rubberchicken.org
http://lists.rubberchicken.org/mailman/listinfo/plucker-dev