[Kst] Re: CDF datasource (again)

Nicolas.Brisset at eurocopter.com Nicolas.Brisset at eurocopter.com
Tue Aug 3 16:00:55 CEST 2004


On Thursday 29 July 2004 03:43, George Staikos wrote:
>    Ok I have good news.  I [think I] have found the one tiny problem with
> this plugin, and it's exactly the problem I just fixed with the planck
> plugin today.  frameCount() returns the wrong value because prior to today,
> it didn't know how to compute this when different fields have different
> counts. If you can modify fieldCount() to make use of the new argument, I
> think it will work fine for you.  I enhanced the debug output to illustrate
> the problem if you choose a small vector in the file.
I have finished implementing the new frameCount() and after testing around for 
hours, I HAVE FOUND A WAY TO AVOID ANY CRASH with the CDF datasource: disable 
updates (I currently do this by pushing the "Pause" toolbar button). As I 
suspected, it seems that the CDF library cannot handle concurrent read access 
to a same file, as all crashes seem to happen in such circumstances. Note 
that disabling updates with cdf is not really a limitation. It is not 
precisely the right format for streaming data (as a matter of fact, the 
update method is not implemented and invariably returns 
KstObject::NO_CHANGE). What I would like to do, though, is disable updates 
(the equivalent of clicking the pause toolbar button+possibly locking it) 
from the cdf datasource constructor to avoid useless crashes. (I do NOT plan 
to modify the CDF library to make it thread-safe !) I suppose locking updates 
is easy, but I'll leave it to someone with more experience to do that :-)
The good news is that the current implementation works very well (apart from a 
couple of akward things I'll file bug/wish reports for) when updates are 
disabled, so I think it can be shipped with 0.99.

> We need to write an
> autoconf check for CDF before we can enable the datasource for general
> compilation. If this is done by next week, we can ship it in 0.99.  
I have seen your commits about that. Looks good, though I'm wondering if it is 
normal that you left your hard-coded include and library paths 
in .../datasources/cdf/Makefile.am ? I thought they would be taken from the 
result of configure checks (including --with-extra-... switches the user may 
have to use at configure time), but I do not understand the process very 
clearly :-)

Attached is the current version of cdf.cpp for someone (George ?) to commit. 
I'll have to learn diff one of these days...

Nicolas

-------------- next part --------------
A non-text attachment was scrubbed...
Name: cdf.cpp
Type: text/x-c++src
Size: 10215 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kst/attachments/20040803/c61c5d94/cdf.bin


More information about the Kst mailing list