[Gdal-dev] Re: image data flushing (clean rebuild needed)

Frank Warmerdam warmerdam at pobox.com
Tue Mar 18 01:11:23 EST 2003

Gillian Walter wrote:
> Hi Frank,
> I tried that, and now everything except the last line of the last band gets
> flushed.  This still
> doesn't flush even if I loop through the bands twice.  Does something else have
> to be freed to get the last line to flush?


Gillian was encountering a problem where some formats implemented on top the
RawRasterBand and related classes were not properly fflushing data to disk
when the GDALRasterBand::FlushCache() method was called.

To correct this I made the GDALRasterBand::FlushCache() method virtual and
implemented it (to call VSIFFlussh()) for the RawRasterBand class.   As
a result of changing the method to be virtual anyone updating GDAL from CVS
should do a clean build (make clean; make).  Any change to the virtual
function table requires a complete recompile.

Anyone implementing formats that they wish to support the flushcache semantics
properly ... that is that should leave the dataset in a clean fully flushed to
disk state after a FlushCache() call should consider whether they need to
override the GDALRasterBand::FlushCache() or GDALDataset::FlushCache() methods
to do work like fflushing the stream they are writing on.

Best regards,

I set the clouds in motion - turn up   | Frank Warmerdam, warmerdam at pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush    | Geospatial Programmer for Rent

More information about the Gdal-dev mailing list