1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-03-05 18:49:42 +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
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
cachedrecastmeshmanager.cpp
cachedrecastmeshmanager.hpp
changetype.hpp Cull navmesh objects by scene bounds 2022-02-03 22:09:37 +01:00
dbrefgeometryobject.hpp
debug.cpp
debug.hpp
dtstatus.hpp
exceptions.hpp
findrandompointaroundcircle.cpp
findrandompointaroundcircle.hpp
findsmoothpath.cpp
findsmoothpath.hpp
flags.hpp
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
makenavmesh.cpp
makenavmesh.hpp
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
navigatorutils.hpp
navmeshcacheitem.cpp
navmeshcacheitem.hpp
navmeshdata.hpp
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
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
navmeshtilescache.hpp
navmeshtileview.cpp
navmeshtileview.hpp
objectid.hpp
objecttransform.hpp
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
offmeshconnectionsmanager.hpp
oscillatingrecastmeshobject.cpp
oscillatingrecastmeshobject.hpp
preparednavmeshdata.cpp
preparednavmeshdata.hpp
preparednavmeshdatatuple.hpp
raycast.cpp
raycast.hpp
recast.cpp
recast.hpp
recastallocutils.hpp
recastglobalallocator.hpp
recastmesh.cpp
recastmesh.hpp
recastmeshbuilder.cpp
recastmeshbuilder.hpp
recastmeshmanager.cpp
recastmeshmanager.hpp
recastmeshobject.cpp
recastmeshobject.hpp
recastmeshprovider.hpp
recastmeshtiles.hpp
recasttempallocator.hpp
ref.hpp
serialization.cpp
serialization.hpp
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
status.hpp
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
tilespositionsrange.hpp Add navmeshtool flag to remove unused tiles from navmesh disk cache 2022-02-18 21:57:23 +01:00
version.hpp
waitconditiontype.hpp