We could have a OSRSetAutoclosePROJDatabase() global function that would
call proj_context_set_autoclose_database() when it creates the
per-thread PROJ context
==> ogr/ogr_proj_p.cpp
An alternative would be to enhance PROJ to have a mode where the SQLite3
db handle would be shared amongst several contexts. In theory that could
be possible as you can invoke sqlite3_open_v2() with
SQLITE_OPEN_FULLMUTEX. But would require non completely trivial changes
Le 28/04/2021 à 15:30, Andrew Bell a écrit :
On Tue, Apr 27, 2021 at 11:44 PM Alan Snow <alansno...@gmail.com
<mailto:alansno...@gmail.com>> wrote:
By default pyproj uses the autoclose option and provides this
option for users who want better performance and know they have a
single threaded application:
https://pyproj4.github.io/pyproj/stable/api/global_context.html
<https://pyproj4.github.io/pyproj/stable/api/global_context.html>
Thanks for this! But it appears that the PROJ context held by a
thread using GDAL is private, so I don't think I can call
proj_context_set_autoclose_database(). I think I'm going to have to
make sure that the thread actually terminates in order to release the
context.
If someone has other suggestions, I'd be happy to hear them.
--
Andrew Bell
andrew.bell...@gmail.com <mailto:andrew.bell...@gmail.com>
_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/gdal-dev
--
http://www.spatialys.com
My software is free, but my time generally not.
_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/gdal-dev