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 <[email protected] <mailto:[email protected]>> 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
[email protected] <mailto:[email protected]>

_______________________________________________
gdal-dev mailing list
[email protected]
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
[email protected]
https://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to