diff options
author | Tobias Brunner <tobias@strongswan.org> | 2016-02-10 12:09:37 +0100 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2016-03-11 08:32:18 +0100 |
commit | 20df9d315c80d95a5a268a5675c48075d5c0394c (patch) | |
tree | 26a7a71e140926501a49037eeda43796a785ea5f /scripts/bin2sql.c | |
parent | 35babdf43f393b0e2fe0031c1cb9a0ce04803950 (diff) | |
download | strongswan-20df9d315c80d95a5a268a5675c48075d5c0394c.tar.bz2 strongswan-20df9d315c80d95a5a268a5675c48075d5c0394c.tar.xz |
vici: Don't hold write lock while running or undoing start actions
Running or undoing start actions might require enumerating IKE_SAs,
which in turn might have to enumerate peer configs concurrently, which
requires acquiring a read lock. So if we keep holding the write lock while
enumerating the SAs we provoke a deadlock.
By preventing other threads from acquiring the write lock while handling
actions, and thus preventing the modification of the configs, we largely
maintain the current synchronous behavior. This way we also don't need to
acquire additional refs for config objects as they won't get modified/removed.
Fixes #1185.
Diffstat (limited to 'scripts/bin2sql.c')
0 files changed, 0 insertions, 0 deletions