summaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorPavan Deolasee2018-07-10 16:12:16 +0000
committerPavan Deolasee2018-07-27 08:00:27 +0000
commitd5481c454e5b915fcc5e08acbc13405c836f5cd6 (patch)
tree59fbc1b844b90ce5e3f9617df0b83be29cd9d4fa /doc/src
parentcb2a478f8b236d8762e2079b70eeefa58804004b (diff)
Improve locking semantics in GTM and GTM Proxy
While GTM allows long jump in case of errors, we were not careful to release locks currently held by the executing thread. That could lead to threads leaving a critical section still holding a lock and thus causing deadlocks. We now properly track currently held locks in the thread-specific information and release those locks in case of an error. Same is done for mutex locks as well, though there is only one that gets used. This change required using a malloc-ed memory for thread-specific info. While due care has been taken to free the structure, we should keep an eye on it for any possible memory leaks. In passing also improve handling of bad-protocol startup messages which may have caused deadlock and resource starvation.
Diffstat (limited to 'doc/src')
0 files changed, 0 insertions, 0 deletions