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

Reply via email to