Hi Markus, > > I am using GDAL (1.10.1) in a Java Servlet environment via JNI. I > observed that Dataset objects cannot be shared between threads, even if > they are not used in parallel, but strictly consecutively. For me, the > VM crashes if a thread uses a Dataset that it didn't create. > > So somehow Dataset objects (on the Java or on the C side) seem to be > using ThreadLocal information. > > Is this correct?
This is surprising. Are you seeing that with a particular driver or all drivers ? I don't see any use of TLS on the Java side. There might be some use of TLS objects on the C side, for functions in cpl_path.cpp for example, but their use should be limited to the lifetime of the execution of a particular function, so that shouldn't cause problems in the scenario you describe. > Would it be hard to eliminate this behaviour (as it > would make pooling Dataset objects much easier and more efficient)? Difficult to tell until we have understood what really happens... Do you manage to reproduce that by running under Valgrind ? If so, that might help understanding what is going wrong. Even _______________________________________________ gdal-dev mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/gdal-dev
