1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-16 18:29:55 +00:00
openmw/components/detournavigator
elsid a75c7c49f0
Disable writes to navmeshdb on database is locked error
Simultaneously writing to sqlite3 database is not possible. Process exclusively
locks the database for this. Another process will fail to perform any request
when database is locked. Alternatively it can wait. Handling this situation
properly requires complexity that is not really needed. Users are not expected
to run multiple openmw processes simultaneously using the same navmeshdb.

Before this change running multiple openmw processes using the same navmeshdb
can lead to a crash when first transaction fails to start because there is
exception thrown and not catched.

Remove use of explicit transactions from DbWorker. Handling all possible
transaction states due to different errors brings unnecessary complexity.
Initially they were introduced to increase time between flushes to disk. This
makes sense for navmeshtool because of massive number of writes but for the
engine this is not an issue.
2022-05-09 22:54:46 +02:00
..
areatype.hpp Store mesh source data in recast mesh 2021-12-10 23:55:02 +01:00
asyncnavmeshupdater.cpp Disable writes to navmeshdb on database is locked error 2022-05-09 22:54:46 +02:00
asyncnavmeshupdater.hpp Disable writes to navmeshdb on database is locked error 2022-05-09 22:54:46 +02:00
bounds.hpp Split makeNavMeshTileData 2018-10-13 22:22:15 +03:00
cachedrecastmeshmanager.cpp Add a binary to generate navmesh from content files 2021-12-11 00:21:56 +01:00
cachedrecastmeshmanager.hpp Add a binary to generate navmesh from content files 2021-12-11 00:21:56 +01:00
changetype.hpp Cull navmesh objects by scene bounds 2022-02-03 22:09:37 +01:00
dbrefgeometryobject.hpp Do not write shapes to navmeshdb when writing is disabled 2021-12-16 22:57:35 +01:00
debug.cpp Split navigator settings into subtypes 2021-12-10 23:55:03 +01:00
debug.hpp Split navigator settings into subtypes 2021-12-10 23:55:03 +01:00
dtstatus.hpp Remove macroses to check recastnavigation functions result 2018-10-13 22:22:15 +03:00
exceptions.hpp Update NavMesh one by one tile in order from nearest to player 2018-10-13 22:16:26 +03:00
findrandompointaroundcircle.cpp Split navigator settings into subtypes 2021-12-10 23:55:03 +01:00
findrandompointaroundcircle.hpp Split navigator settings into subtypes 2021-12-10 23:55:03 +01:00
findsmoothpath.cpp Fix crash in DetourNavigator::fixupCorridor 2021-10-19 22:54:46 +02:00
findsmoothpath.hpp Split navigator settings into subtypes 2021-12-10 23:55:03 +01:00
flags.hpp Add pathgrid to navmesh as off mesh connection 2020-06-12 21:04:02 +02:00
generatenavmeshtile.cpp Limit max navmeshdb file size 2022-03-18 19:08:46 +01:00
generatenavmeshtile.hpp Limit max navmeshdb file size 2022-03-18 19:08:46 +01:00
gettilespositions.cpp Cull navmesh objects by scene bounds 2022-02-03 22:09:37 +01:00
gettilespositions.hpp Add navmeshtool flag to remove unused tiles from navmesh disk cache 2022-02-18 21:57:23 +01:00
heightfieldshape.hpp Add raw heightfield data to navigator 2021-12-03 01:16:15 +01:00
makenavmesh.cpp Write generated navmesh to navmeshdb 2021-12-11 00:22:04 +01:00
makenavmesh.hpp Write generated navmesh to navmeshdb 2021-12-11 00:22:04 +01:00
navigator.cpp Limit max navmeshdb file size 2022-03-18 19:08:46 +01:00
navigator.hpp Cull navmesh objects by scene bounds 2022-02-03 22:09:37 +01:00
navigatorimpl.cpp Cull navmesh objects by scene bounds 2022-02-03 22:09:37 +01:00
navigatorimpl.hpp Cull navmesh objects by scene bounds 2022-02-03 22:09:37 +01:00
navigatorstub.hpp Cull navmesh objects by scene bounds 2022-02-03 22:09:37 +01:00
navigatorutils.cpp Fix unnecessary-copy-initialization 2022-01-04 20:42:09 +01:00
navigatorutils.hpp Split navigator settings into subtypes 2021-12-10 23:55:03 +01:00
navmeshcacheitem.cpp Write generated navmesh to navmeshdb 2021-12-11 00:22:04 +01:00
navmeshcacheitem.hpp Write generated navmesh to navmeshdb 2021-12-11 00:22:04 +01:00
navmeshdata.hpp Add missing initialization 2021-08-09 17:54:19 +02:00
navmeshdb.cpp Limit max navmeshdb file size 2022-03-18 19:08:46 +01:00
navmeshdb.hpp Limit max navmeshdb file size 2022-03-18 19:08:46 +01:00
navmeshdbutils.cpp Support compilation with c++20 2022-02-24 00:49:40 +01:00
navmeshdbutils.hpp Do not write shapes to navmeshdb when writing is disabled 2021-12-16 22:57:35 +01:00
navmeshmanager.cpp Cull navmesh objects by scene bounds 2022-02-03 22:09:37 +01:00
navmeshmanager.hpp Cull navmesh objects by scene bounds 2022-02-03 22:09:37 +01:00
navmeshtilescache.cpp Write generated navmesh to navmeshdb 2021-12-11 00:22:04 +01:00
navmeshtilescache.hpp Write generated navmesh to navmeshdb 2021-12-11 00:22:04 +01:00
navmeshtileview.cpp Fix unity build 2021-11-21 14:24:18 +01:00
navmeshtileview.hpp Fix unity build 2021-11-21 14:24:18 +01:00
objectid.hpp Add a binary to generate navmesh from content files 2021-12-11 00:21:56 +01:00
objecttransform.hpp Store mesh source data in recast mesh 2021-12-10 23:55:02 +01:00
offmeshconnection.hpp Do not use off mesh connections as a part of navmesh cache key 2021-07-14 12:19:17 +02:00
offmeshconnectionsmanager.cpp Add a binary to generate navmesh from content files 2021-12-11 00:21:56 +01:00
offmeshconnectionsmanager.hpp Add a binary to generate navmesh from content files 2021-12-11 00:21:56 +01:00
oscillatingrecastmeshobject.cpp Limit oscillating recast mesh object AABB by tile bounds 2021-05-27 12:40:29 +02:00
oscillatingrecastmeshobject.hpp Limit oscillating recast mesh object AABB by tile bounds 2021-05-27 12:40:29 +02:00
preparednavmeshdata.cpp Write generated navmesh to navmeshdb 2021-12-11 00:22:04 +01:00
preparednavmeshdata.hpp Write generated navmesh to navmeshdb 2021-12-11 00:22:04 +01:00
preparednavmeshdatatuple.hpp Fix unity build 2021-11-21 14:24:18 +01:00
raycast.cpp Split navigator settings into subtypes 2021-12-10 23:55:03 +01:00
raycast.hpp Split navigator settings into subtypes 2021-12-10 23:55:03 +01:00
recast.cpp Write generated navmesh to navmeshdb 2021-12-11 00:22:04 +01:00
recast.hpp Write generated navmesh to navmeshdb 2021-12-11 00:22:04 +01:00
recastallocutils.hpp use c++11 std::align from <memory> (#2026) 2018-11-08 17:38:09 +01:00
recastglobalallocator.hpp Add missing include and use std malloc and free 2021-02-15 00:20:15 +01:00
recastmesh.cpp Store mesh source data in recast mesh 2021-12-10 23:55:02 +01:00
recastmesh.hpp Store mesh source data in recast mesh 2021-12-10 23:55:02 +01:00
recastmeshbuilder.cpp Filter out triangles with NaN coordinates 2022-01-25 17:08:52 +01:00
recastmeshbuilder.hpp Store mesh source data in recast mesh 2021-12-10 23:55:02 +01:00
recastmeshmanager.cpp Store mesh source data in recast mesh 2021-12-10 23:55:02 +01:00
recastmeshmanager.hpp Add raw heightfield data to navigator 2021-12-03 01:16:15 +01:00
recastmeshobject.cpp Store mesh source data in recast mesh 2021-12-10 23:55:02 +01:00
recastmeshobject.hpp Store mesh source data in recast mesh 2021-12-10 23:55:02 +01:00
recastmeshprovider.hpp Read navmesh tile data from database 2021-12-11 00:22:04 +01:00
recastmeshtiles.hpp Replace include by RecastMesh forward declaration 2021-05-04 13:00:06 +02:00
recasttempallocator.hpp use c++11 std::align from <memory> (#2026) 2018-11-08 17:38:09 +01:00
ref.hpp Add missing include 2021-07-21 11:37:50 +02:00
serialization.cpp Read navmesh tile data from database 2021-12-11 00:22:04 +01:00
serialization.hpp Read navmesh tile data from database 2021-12-11 00:22:04 +01:00
settings.cpp Limit max navmeshdb file size 2022-03-18 19:08:46 +01:00
settings.hpp Limit max navmeshdb file size 2022-03-18 19:08:46 +01:00
settingsutils.hpp Cull navmesh objects by scene bounds 2022-02-03 22:09:37 +01:00
sharednavmesh.hpp Cache navmesh tiles 2018-10-13 22:22:12 +03:00
status.hpp Make AiPursue path destination to be as close as possible to target 2021-08-18 23:44:36 +02:00
tilebounds.hpp Cull navmesh objects by scene bounds 2022-02-03 22:09:37 +01:00
tilecachedrecastmeshmanager.cpp Explicitly bind TileCachedRecastMeshManager with mutex 2022-02-03 22:24:26 +01:00
tilecachedrecastmeshmanager.hpp Explicitly bind TileCachedRecastMeshManager with mutex 2022-02-03 22:24:26 +01:00
tileposition.hpp Use recastnavigation to find path 2018-10-13 22:16:25 +03:00
tilespositionsrange.hpp Add navmeshtool flag to remove unused tiles from navmesh disk cache 2022-02-18 21:57:23 +01:00
version.hpp Replace generation and revision by version 2021-11-21 17:40:54 +01:00
waitconditiontype.hpp Apply min distance only for not present tiles 2021-05-14 22:41:11 +02:00