Hi,<div><br></div><div>I am working on a Java tiling program that uses GDAL to read the source files. (Writing is done via Java ImageIO)</div><div><br></div><div>Currently I am trying to implement multithreaded processing to speed the program up.</div>
<div><br></div><div>I note on the FAQ that it says that GDAL is thread safe if you open a new dataset for each thread.</div><div><br></div><div>I have done that in my program so each thread has it's own dataset pointing to the same file.</div>
<div><br></div><div>However I am having a problem with ReadRaster(). When I call this function in parallel on each thread some of the image data returned is corrupted.</div><div><br></div><div>I note the FAQ says some drivers might not be thread safe, but more recently on this mailing list it was said that most GDAL tree code only drivers should be thread safe.</div>
<div><br></div><div>The file I am having problems with is a VRT file that references a raw file using VRTRawRasterBand.</div><div><br></div><div>I have used gdal_translate to convert it to a TIFF and that does not have problems.</div>
<div><br></div><div>Is it possible the VRT driver is not thread safe?</div><div><br></div><div>Also, is there an official list of thread safe drivers? If not could someone with the knowledge perhaps update the FAQ to list the 'vetted' drivers?</div>
<div><br></div><div>I would use the list to build a white list into my program that controls whether is runs the single or multi threaded version.</div><div><br clear="all">Thanks,<br>Leith Bade<br><a href="mailto:leith@leithalweapon.geek.nz">leith@leithalweapon.geek.nz</a><br>
<br>
</div>